SRT to VTT converter
Convert between SRT and VTT, resync a file that runs early or late, or pull the transcript out as plain text.
What this does
SRT and WebVTT are close relatives: SRT numbers its cues and separates timecodes with a comma before the milliseconds, VTT drops the numbering, uses a full stop, and needs a WEBVTT header. That is nearly the whole difference, and this converts in both directions, keeps the cue text intact, and normalises the line endings that break players when a file moves between Windows and macOS. It also does the two things you usually need next: shifting every cue by an offset to resync a file that runs early or late, and stripping the timings out entirely for a plain-text transcript. The file is parsed in your browser and never uploaded.
How to convert an SRT to VTT
- 01
Paste or drop the file
An .srt or .vtt, or the text pasted straight in. The format is detected from the content rather than the extension.
- 02
Pick the output
VTT for the web and for a <track> element, SRT for editors and for most upload forms, plain text for a transcript or a description.
- 03
Shift the timing if it needs it
A positive offset moves every cue later, a negative one earlier. This fixes the common case where captions were cut against a version of the edit with a different head.
Questions
What is the difference between SRT and VTT?
VTT begins with a WEBVTT line, uses a full stop before the milliseconds and does not need cue numbers; SRT numbers every cue and uses a comma. VTT also supports styling, positioning and metadata that SRT has no syntax for. For plain captions the two carry identical information, which is why the conversion is lossless in practice.
Which format does YouTube accept?
Both, along with several others. VTT is the safer choice for anything played in a browser through a <track> element, since that is the only format the HTML spec requires a browser to support.
My subtitles are out of sync — can this fix it?
If they are consistently early or late, yes: shift every cue by the offset. If they drift progressively, the cause is a frame rate mismatch rather than an offset, and shifting will only make the middle right and both ends wrong.
Is my subtitle file uploaded?
No. It is parsed and rewritten in the page. Nothing is sent anywhere, which is the point when the file is an unreleased episode's transcript.
Other free tools
Video script timer
Words to minutes at your pace, with a per-section breakdown.
FreeTimecode calculator
Timecode to frames and back, plus drop frame done properly.
FreeVideo frame grabber
A still out of any video file, at full resolution, without uploading it.
FreeVideo file size calculator
Bitrate to size, size to bitrate, plus the recommended numbers.
Free