Tools
Free tool / no signup

SRT and VTT Caption Converter

Convert SRT to WebVTT and back, shift or scale caption timing, validate cue length, strip tags, and export a transcript or YouTube chapters. Runs in your browser.

Detected SRT, 2 cues.

Positive is later, negative is earlier.

1.0417 turns 25 fps timing into 24 fps.

Validation against common caption guidelines

Guidelines, not platform rules: shown for at most 7 seconds, 2 lines, 42 characters a line.

  • Cue 2: Shown for 8.6 s, over the 7 s guideline.
  • Cue 2: Longest line is 101 characters, over the 42 guideline.

How the caption converter works

What it reads and writes

Input can be SRT, WebVTT or plain text where each line starts with a time such as 0:12, [01:05] or 1:02:03. A byte order mark, Windows (CRLF) or old Mac (CR) line endings, hour-less timestamps like 01:02.500 and one to three digit milliseconds are all accepted.

Malformed blocks are skipped with a warning instead of stopping the whole file. NOTE blocks in WebVTT are kept when you export VTT; STYLE and REGION blocks are not carried over.

Plain timestamped text has no end times, so each cue ends where the next begins and the last cue gets 3 seconds.

Sources and guidelines

WebVTT format: W3C WebVTT specification (w3.org, TR, webvtt1). SRT has no formal specification; the layout used here is the common convention of number, time range, then text.

YouTube chapter rules (first timestamp 00:00, at least three timestamps, 10 seconds minimum): YouTube Help article 9884579 on video chapters, checked October 2026.

The 7 second, 2 line and 42 character checks are common broadcast guidelines used as a readability aid. They are guidelines, not platform requirements.

Limitations

Merging short cues joins neighbours under one second when the gap is small and the text stays short. Always play the result back before publishing. The tool does not transcribe audio or translate captions, and it does not re-time to speech.

Frequently asked questions

How do I convert an SRT file to VTT?

Paste the SRT text, pick WebVTT as the output and copy or download it. The converter adds the WEBVTT header, changes the comma in each timestamp to a dot (00:01:02,500 becomes 00:01:02.500) and keeps your cue text. Going the other way it removes the header and note blocks and numbers the cues from 1.

What is the difference between SRT and WebVTT?

SRT is a simple numbered list of cues with comma milliseconds and no official specification. WebVTT is a W3C standard for the web that starts with a WEBVTT header, uses dot milliseconds, and can carry notes, cue settings such as alignment, and basic styling. Most video players that use the HTML5 track element expect VTT.

How do I fix captions that are out of sync?

If they are always early or late by the same amount, use the shift option with a positive number of milliseconds to push them later or a negative number to pull them earlier. If the drift grows over the video, the frame rate or speed differs, so use the scale option with a factor such as 25 divided by 23.976.

Why does the validator flag cues over 7 seconds, 2 lines or 42 characters?

Those numbers are common broadcast-style caption guidelines, used here as a readability check. They are not rules of YouTube, Instagram or any platform, and your style guide may differ. Treat flags as prompts to review, not errors.

How do I make YouTube chapters from an SRT file?

Use the timestamped transcript output. It writes lines like 02:15 Topic text. YouTube chapters need the first timestamp to be 00:00, at least three timestamps in ascending order, and at least 10 seconds per chapter, per YouTube Help. Set a minimum spacing and the tool thins the list to match, then you edit the labels.

Is my caption file uploaded anywhere?

No. Parsing and conversion run in your browser. Nothing is sent to a server, so unreleased scripts and client files stay on your device.