Skip to content

Convert

SRT to VTT

SRT to VTT

Convert .srt captions to .vtt for HTML5 video, and back again. Direction is detected from the file, timestamps are normalized, and nothing is uploaded.

Use via API
  • Free, no sign-up
  • REST + MCP
  • Updated
  • Reviewed by Olgun Ozoktas

Direction is detected from the file. Use the toggle to override it.

SRT Input
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
VTT Output

Converted captions will appear here..

Why Use Our SRT to VTT Converter?

The HTML5 track element accepts WebVTT. Almost every editor, transcription service, and download button still produces SubRip. The two formats are close enough that the difference feels trivial and just far enough apart that hand-editing is tedious: the milliseconds separator changes from a comma to a dot on every single line, and the file needs a WEBVTT header that SRT does not have. This converter does both in one step, in either direction, without uploading the file.

SubRip and WebVTT describe the same thing — a list of cues, each with a start time, an end time, and some text — and they disagree on almost nothing except punctuation. SubRip separates the milliseconds with a comma and numbers every cue. WebVTT uses a dot, makes the number optional, opens the file with a WEBVTT line, and adds optional positioning settings after the timing.

That small gap is enough to make a caption file fail silently. A browser handed an SRT file through a track element renders no captions and reports nothing useful; a player expecting SubRip chokes on the WEBVTT header. The fix is mechanical, which is exactly why it should not be done by hand.

This converter parses either dialect into the same cue list, normalizes every timestamp to hours, minutes, seconds, and three fraction digits, and writes the other format. A malformed timing line is reported with its line number instead of quietly truncating the file. Everything runs in the browser: the caption file is never uploaded.

How it compares

Cloud caption converters upload the file, and a caption file is a full transcript of what was said. For an unreleased episode, an internal training video, or a client's footage, that upload is the problem. This tool does the conversion in the tab, so the transcript stays on your machine.

Caption Conversion Tips

  • SubRip requires sequential cue numbers; WebVTT treats them as optional identifiers. Converting to SRT renumbers from 1, whatever the source used.
  • WebVTT cue settings such as line:90% or align:start are preserved when writing VTT and dropped when writing SRT, because SubRip has no equivalent.
  • NOTE, STYLE, and REGION blocks are WebVTT metadata, not captions. They are skipped rather than turned into cue text.
  • A timestamp with fewer than three fraction digits is padded, so 00:00:01,5 becomes 00:00:01.500 and players read it correctly.
  • A WebVTT timestamp may omit the hours field. It is expanded to the full HH:MM:SS form when writing SubRip, which requires it.

Frequently Asked Questions

What is the actual difference between SRT and VTT?

Three things. WebVTT files begin with a WEBVTT line and SubRip files do not. WebVTT separates seconds from milliseconds with a dot, SubRip with a comma. WebVTT makes the cue number optional and allows positioning settings after the timing, while SubRip requires sequential numbers and supports no settings. The cue text itself is the same in both.

Which one does HTML5 video need?

WebVTT. The track element in the HTML specification accepts WebVTT only, so an .srt file referenced from a track element produces no captions at all. Browsers do not report a helpful error for this, which is why a video with captions that simply do not appear is usually a format problem rather than a markup problem.

Does converting change my caption text?

No. Only the timing format, the header, and the cue numbering change. Every line of caption text is copied through byte for byte, including line breaks inside a cue and any inline markup the format allows. The tool does not translate, reword, re-time, or spell-check anything.

Can I convert VTT back to SRT?

Yes, on this same page. The direction is detected from what you paste or drop, and the toggle above the editor overrides the guess. Converting to SubRip adds sequential cue numbers, changes the dots back to commas, removes the WEBVTT header, and drops WebVTT cue settings, which SubRip cannot express.

What happens to WebVTT cue settings and styling?

Settings such as line:90%, align:start, and position:50% are preserved when the output is WebVTT. They are dropped when the output is SubRip, because SubRip has no way to represent them. NOTE, STYLE, and REGION blocks are skipped in both directions rather than being converted into visible caption text.

My file has a bad line. What happens?

The converter reports the line number and the content of the offending timing line instead of producing a truncated file. That matters because a caption file that silently stops at cue 40 of 300 looks like it worked. Fix the named line and convert again.

Does it handle timestamps without an hours field?

Yes. WebVTT allows a timestamp such as 01:02.500, meaning one minute and 2.5 seconds. SubRip requires the full hours field, so it is expanded to 00:01:02,500 on the way out. Short fraction digits are padded to three, so 00:00:01,5 becomes 00:00:01.500.

Is my caption file uploaded?

No. Parsing and writing both happen in your browser. A caption file is a complete transcript, so this matters more than it does for most format conversions: an unreleased episode's captions reveal the whole script. Check the Network tab while converting and you will see no request carrying the file.

Can it burn captions into the video or translate them?

No, and it will not pretend to. This tool converts between two caption text formats. Burning captions into a video is a re-encode, and translating them is a different job entirely with different accuracy expectations. Keeping the scope to format conversion is what lets it be exact. Two neighbouring jobs have their own pages: the Subtitle Shifter moves every cue by one offset when the track is early or late, and ASS to SRT flattens a styled .ass or .ssa script to plain SubRip.

Can I convert several files at once?

One file at a time on this page. Each conversion is fast enough that a handful of files is a minute of work, and keeping it to one input means the preview always shows exactly what you are about to download. For a large batch, the same converter is available on the FindUtils API as the srt_to_vtt tool.

Rate This Tool

0/1000

Get Weekly Tools

Suggest a Tool