Free online VTT converter. Convert VTT to SRT, ASS, SSA, SUB, TXT and more online — no limits, no watermark.
.vtt caption file or click to add it. You can also paste the cue text straight in. Need the reverse direction? Switch the "From format" dropdown to load SRT, ASS, SSA, SBV, SUB, LRC, SMI, TTML, STL, TXT, or CSV instead.VTT — formally WebVTT (Web Video Text Tracks) — is the W3C's caption format for HTML5 video, the one a <track> element loads directly in the browser. A VTT file opens with a required WEBVTT header line, uses HH:MM:SS.mmm timecodes with a dot before the milliseconds, and can carry cue settings for on-screen position, line, and alignment plus CSS styling blocks and named regions. That makes it the richest, most web-native option of the common subtitle formats — and also the reason it doesn't drop cleanly into tools built for simpler files.
The most common reason to convert away from VTT is destination mismatch: the place you're handing the subtitles to expects something else.
comma before the milliseconds and carries no styling, so it travels everywhere without surprises. If you're uploading captions to a service or importing into an NLE and just want them to load, SRT is the safe target.| Format | Full name / origin | Millisecond separator | Styling & positioning | Best for |
|---|---|---|---|---|
| VTT | WebVTT, W3C HTML5 caption standard | Dot (.) |
CSS cue settings, regions, styling blocks | HTML5 <track>, browser-native captions |
| SRT | SubRip, early-2000s DVD-ripping software | Comma (,) |
None (plain text) | Universal hand-off, editors, YouTube |
| ASS | Advanced SubStation Alpha | Centiseconds (.) |
Full styling, fonts, precise placement | Aegisub, styled fansubs, anime |
| SSA | SubStation Alpha (ASS predecessor) | Centiseconds (.) |
Styling, basic placement | Legacy styled-subtitle workflows |
| TTML / DFXP | W3C Timed Text Markup Language (XML) | XML clock value | Rich XML styling and layout | Broadcast, streaming, Flash captions |
| SBV | SubViewer (YouTube's older export) | Dot (.) |
None | Legacy YouTube caption files |
| LRC | Lyrics file (per-line timing) | Hundredths (.) |
None | Music players, karaoke |
| TXT | Plain text transcript | n/a (timecodes removed) | None | Transcripts, search indexing, translation |
VTT and SRT are by far the most-requested pair because they hold the same kind of plain captions — the conversion is mostly a header and timecode-punctuation swap (WEBVTT header removed, dots changed to commas) with any VTT styling flattened to text. In our testing, a typical 40-cue VTT episode file converts to SRT in well under a second and the line-for-line cue timing is preserved exactly; the only visible change is that a positioned or italicized cue comes out as plain text.
Both store timed captions as readable text, but VTT (WebVTT) is the web-native format and SRT (SubRip) is the universal one. VTT requires a WEBVTT header line, uses a dot before the milliseconds (00:01:23.456), and can carry CSS styling, on-screen positioning, and named regions — features built for HTML5 <track> playback. SRT has no header, uses a comma (00:01:23,456), and is plain text with no styling. Because SRT is simpler, almost every editor and platform reads it, which is why VTT-to-SRT is the most common conversion here.
Only if the target can't represent it. Converting VTT to SRT or TXT flattens any cue positioning, alignment, and CSS styling to plain text, because those formats have no way to store it — the words and timing survive, the visual formatting doesn't. Converting VTT to ASS or SSA preserves far more, since those formats are built for styled, positioned subtitles. If keeping the on-screen look matters, target ASS; if you just need the captions to load anywhere, SRT is fine and the dropped styling is rarely missed.
It's a quirk of where each format came from. SubRip, the software SRT is named after, was written in France in the early 2000s, where the comma is the decimal separator — so its timecodes read 00:00:05,000. WebVTT was defined later by the W3C for the web, where the dot is standard, so it uses 00:00:05.000. The two are otherwise nearly identical for plain captions, which is exactly why a converter can swap one for the other so reliably — it's largely a punctuation and header change.
Yes — convert VTT to TXT. That output drops the WEBVTT header, the timecodes, and the cue numbers, leaving just the spoken lines as continuous text. It's the quickest way to turn auto-generated captions into show notes, a searchable transcript, source text for translation, or content you can paste into a document. If you need the timing back later, keep the original VTT — the transcript is one-directional.
For the widest compatibility, convert VTT to SRT. SRT is read by YouTube, Vimeo, Premiere, Final Cut, DaVinci Resolve, and virtually every desktop player, and its lack of styling means nothing breaks on import. YouTube does accept VTT and its own SBV export as well, but SRT is the format least likely to be rejected anywhere you hand it off. Keep VTT when the destination is an HTML5 <video> element on a web page, where it's the native choice.
Yes. The conversion runs entirely in your browser — your file is parsed and rewritten on your own device and never sent to or stored on our servers. It's never shared, made public, or used for anything else, and there's no sign-up and no watermark on the output. Subtitle files are small plain text, so the conversion is near-instant even on a slow connection.
Yes to both. You can queue multiple subtitle files and download the results together, and the same tool runs in reverse — load an SRT, ASS, SSA, SUB, LRC, SMI, TTML, STL, TXT, or CSV file with the "From format" dropdown and convert it to VTT or any other supported format. For a single common conversion, the dedicated VTT to SRT and VTT to ASS pages walk through that exact swap.