SRT to VTT converter
Convert SRT subtitles to WebVTT, or WebVTT back to SRT, entirely in your browser. Handles speaker tags, notes, styling and hour-less timings.
Runs on your device. Your files never leave your browser.
How to use the srt to vtt converter
- 01Paste your SRT or VTT file into the box, or use Open file to load it from disk.
- 02Check the detected source format, or choose it yourself if detection gets it wrong.
- 03Click Convert.
- 04Copy the result, or download it as a new file.
VTT to SRT: what changes
Converting VTT to SRT keeps the parts SRT can represent: the cue text and its start and end times, renumbered into SRT's sequential cue-number format, with the timecode separator switched from a period to a comma. Speaker tags written as <v Name> in the source are flattened into a plain "Name: " prefix on the text, since SRT has no dedicated speaker markup of its own.
What does not survive is anything SRT was never built to hold: cue identifiers, the WEBVTT header, NOTE and STYLE blocks, and cue settings such as position, size or alignment written after the arrow on a timing line. SRT is a plain numbered list of cues, so anything WebVTT layers on top of basic text and timing has nowhere to go once converted, and this tool drops it rather than guessing at an SRT equivalent.
The practical effect is usually small: most subtitle files lean on the basic cue and timing rather than the extras, so it is styling and positioning specifically, not the words or when they appear, that a VTT to SRT conversion cannot carry across.
Why web players want WebVTT
WebVTT, the Web Video Text Tracks format, is the subtitle format defined by the W3C for the web, and it is what the HTML5 <track> element uses when captions are attached to a <video> element in a browser. That standardisation is the main reason a browser-based or embedded video player asks for VTT specifically rather than SRT.
SRT was never a formal web standard: it takes its name and format from the SubRip application, and its wide support today comes from how long it has been the default most editing software exports and most subtitle sites distribute, not from any browser specification. Desktop players and editing tools generally read it without complaint, but a page rendering a native HTML5 track needs WebVTT to work.
In practice this splits fairly cleanly: handing a file to another editor, or uploading to a platform that accepts either format, SRT remains a safe, simple default; embedding captions directly into a web page's own video player is where WebVTT is usually the one that is required.
Fixing subtitle files that will not convert
The most common reason a conversion fails is a malformed timing line. This tool expects each cue's timing on its own line, written as HH:MM:SS,mmm --> HH:MM:SS,mmm for SRT (a comma before the milliseconds) or HH:MM:SS.mmm --> HH:MM:SS.mmm for VTT (a period), with a genuine arrow (-->) between the two times. A single dash instead of the full arrow, a missing colon, or the wrong separator will stop the file parsing, and the error message names the exact line to check.
A second common issue is a cue that ends before it starts, usually a typo from a timecode that was hand-edited. Reading the flagged line against the cues immediately before and after it in the original file is generally enough to spot which of the two numbers is wrong.
If the tool cannot tell whether a file is SRT or VTT at all, check that the whole file was pasted rather than a fragment: a VTT file is only recognised as such by its opening WEBVTT header line, and a partial paste that starts mid-file loses that marker. Use the source format toggle above the Convert button to set the format yourself when you already know which one you are working with.
When you need more than a tool
Captions from the edit itself
Anjin Media exports captions and sidecar files with every render.
Questions about the srt to vtt converter
- What is the difference between SRT and VTT?
- SRT is a plain numbered list of cues (a sequence number, a timecode line with a comma before the milliseconds, then the text) with no file header and no way to add positioning or styling. WebVTT opens with a mandatory WEBVTT header, uses a period before the milliseconds, and can carry extra information, such as cue settings and speaker tags, that SRT has no format for.
- Will converting lose my formatting?
- Converting SRT to VTT keeps everything, since VTT can represent everything SRT can plus more. Converting VTT to SRT drops anything SRT has no format for, mainly cue positioning, alignment and styling; the caption text and its timing carry over in both directions.
- Can I convert VTT back to SRT?
- Yes. This tool works in both directions: paste or open a VTT file and it converts to SRT the same way it converts SRT to VTT, dropping only the positioning or styling the source VTT included.
- Is there a file size limit?
- No hard limit is set by this tool: it runs entirely in your browser, so the practical ceiling is limited only by your browser's memory rather than an upload cap. A very long subtitle file will simply take a moment longer to parse.
More free tools
Free · In your browser
YouTube chapters generator
Type a time and a title for each section of your video, and this checks the list against YouTube's own chapter rules before you paste it into the description.
Open the tool →Free · In your browser
Timecode calculator
Add and subtract SMPTE timecode, or convert it to frames and real seconds, at any common frame rate, drop-frame included.
Open the tool →Free · In your browser
Speaking time calculator
Paste a script to see how long it takes to say out loud, or work out how many words fit a 15, 30, 60 or 90 second video at your own speaking pace.
Open the tool →Free · In your browser
Social media video sizes
Video dimensions and aspect ratios for Instagram, Facebook, YouTube, TikTok and LinkedIn, each one checked against the platform's own official spec page and linked so you can verify it yourself.
Open the tool →Updated · All free tools
