TimecodaLabsubtitle timeline studio
Open the full studio

SRT to VTT converter

Change the container without touching the timeline: SRT → VTT, VTT → SRT, and ASS or plain text as well. Every timing comes out exactly as it went in — this page converts syntax, not time. Nothing is uploaded.

Drop an .srt / .vtt / .ass file here
or click to choose one · the conversion preview appears below

What each subtitle format actually carries

FormatHeaderTimestampStylingTypical use
SRT (SubRip)none00:00:01,250 — commabasic bold/italic tags onlyEverything: editors, players, most delivery specs
WebVTTWEBVTT00:00:01.250 — dotCSS via classes; positioning supportedWeb players, HTML5 <track>, streaming
ASS / SSA[Script Info] + styles0:00:01.25 — centisecondsFull: fonts, colours, position, karaokeFansubs, anime, burn-in workflows
Plain textnonenonenoneTranslation templates, transcripts, spell-checking

Only the container changes here: cue numbering is re-generated, timestamp punctuation follows the target format, and the encoding is normalised to UTF-8 on the way out (input is detected, including GBK and UTF-16).

When a straight conversion is not enough

You want to…Do this
Convert SRT to VTT (or back) as-isThis page — timings are guaranteed untouched
Move the whole file earlier or laterShift SRT timestamps
Fix subtitles that drift more every minuteFPS subtitle converter
Check reading speed and line length before deliverySubtitle guideline checker
Show a transcript instead of timed cuesConvert to plain text on this page

Converting a folder of files?

The studio converts every open file at once and hands them back as a single ZIP. Pro is a $9 one-time licence — lifetime, up to 3 devices — with a 7-day refund while the key is unactivated. Single-file conversion here stays free.

Open the studio

Questions people ask before using it

What is the difference between SRT and VTT timestamps?

Only the decimal separator and the header: SRT writes 00:00:01,250 with a comma, WebVTT writes 00:00:01.250 with a dot and starts the file with the line WEBVTT. Cue numbers are optional in WebVTT. Converting between the two does not move a timing by a millisecond.

Does converting to VTT lose my subtitle styling?

ASS styling — fonts, colours, positioning — is dropped when you convert to SRT, VTT or plain text, because those formats carry no style definitions. Text and timings survive; styling has to be re-applied by the player or the platform.

Are the files uploaded for conversion?

No. The conversion happens in your browser tab and the result is written locally as a download. This site has no upload endpoint at all.