Subtitle Converter

Convert between SRT and WebVTT. The separator between seconds and milliseconds differs between them, and getting it wrong gives a file that loads and shows nothing.

Processed on your device — no upload

termiva subs convert film --to srt
0 chars
Convert to
0 chars
cues nothing uploaded

How to use it

  1. Paste the subtitles, or choose a .srt or .vtt file.
  2. Pick the format you need.
  3. Copy or download the result.

How it works

SRT to VTT and VTT to SRT are the same job in two directions, and every caption converter on the first page of results wants the file uploaded to do it. The two formats are close enough to look interchangeable and are not. SubRip separates seconds from milliseconds with a comma; WebVTT uses a full stop. Rename a file from .srt to .vtt and a browser will load it, find no timestamp it recognises, and display nothing at all — no error, no warning, just a video with no subtitles.

WebVTT needs its header. The first line has to read WEBVTT. A file without it is not a WebVTT file, whatever it is called.

Cue settings have nowhere to go. WebVTT allows positioning after the timestamp — line:0 position:50% align:start — and anything exported from YouTube carries it. SubRip has no equivalent, so it is dropped rather than kept, because a converter that keeps it puts position:50% on screen as a line of dialogue.

Numbering is rebuilt, not copied. SubRip requires a sequential index above each cue and half the files in circulation have them duplicated or missing after someone deleted a block by hand. The order already carries the information, so the output is renumbered from one.

A byte-order mark at the start of the file is removed. It is invisible in every editor, it attaches itself to the first cue’s index, and it is the reason a file that looks perfect loses exactly one cue — the first one. The same three bytes cause the CSV problem, from the other direction.

A worked example

Press Load a sample. It is WebVTT, and it contains the two things that catch other converters out: a cue with line:0 position:50% after the timestamp, and a cue whose text runs to two lines.

Convert it to SubRip. The first cue’s timing becomes 00:00:01,000 --> 00:00:04,000 — commas, and the positioning gone. The two-line cue keeps its break, because a translator chose where that line ends and re-wrapping it would throw the decision away.

Convert back to WebVTT and the timings return to full stops with the header restored. The positioning does not come back: SubRip never held it, and inventing a value would be a guess presented as data.

If the file is out of sync as well as the wrong format, retime it — and if it is going to a broadcaster, check the reading speed before you send it.

Questions

Is my subtitle file uploaded?

No. It is read by your own browser and never leaves the device, which matters here more than in most places: a subtitle file is the full script of a video, often one that has not been released.

What is the actual difference between SRT and VTT?

WebVTT is the format browsers use for the HTML video element. It needs a WEBVTT header, uses a full stop before the milliseconds, and allows styling and positioning. SubRip uses a comma and carries nothing but text and timings.

Why does my renamed .srt file show nothing?

Because renaming does not convert. The browser reads the comma before the milliseconds, does not recognise it as a timestamp, and displays no cues — silently.

Does it keep italics and formatting?

Yes. Tags such as <i> are valid in both formats and pass through untouched. WebVTT-only cue settings are dropped when converting to SubRip, because SubRip has nowhere to put them.

What happens to a badly formed cue?

It is skipped and counted in the status line rather than stopping the conversion. One malformed block out of eight hundred should not cost you the other seven hundred and ninety-nine.

Are the cue numbers preserved?

No, they are rebuilt from one. They carry no information that the order does not already give, and files that have been edited by hand usually have them wrong.

Does it handle files with Windows line endings?

Yes. CRLF, LF and a lone CR are all normalised on the way in, and the output uses newlines every player accepts.

Can it read a WebVTT file with no hours in the timestamps?

Yes. WebVTT genuinely allows MM:SS.mmm and hand-written files use it. The output always writes the long form, because SubRip requires it.

Is Subtitle Converter free to use online?

Yes — free, with no account, no daily limit and no watermark. It runs online in your browser, and because the work happens on your own device it keeps working offline once the page has loaded.

Reading