Subtitle format converter

Convert SRT ↔ WebVTT

Detect and convert SRT or WebVTT, preview timecodes, then copy or download a UTF-8 file.

Parsed only in your browser; explicitly supports UTF-8 SRT and WebVTT

Subtitle track

Detect the format and convert its timecode syntax

SRT · 4 cues
Output format

Sample SRT loaded. Convert it now or paste your own subtitles.

Result proof

4 VTT cues

UTF-8
01

Some tools give you one button.

02

We would rather make the timing, format, and limits clear.

03

LOCAL FIRST: subtitle text never leaves your browser.

04

Speaker: Sync can shift a whole track or correct drift that grows over time.

Show complete file text
WEBVTT

00:00:02.400 --> 00:00:05.200
Some tools give you one button.

00:00:05.600 --> 00:00:08.900
We would rather make the timing, format, and limits clear.

00:00:10.100 --> 00:00:13.800
LOCAL FIRST: subtitle text never leaves your browser.

00:00:15.000 --> 00:00:18.600
Speaker: Sync can shift a whole track or correct drift that grows over time.

Output stays UTF-8. WebVTT uses a period for milliseconds; SRT uses a comma.

Methods & limits

SRT and WebVTT look alike, but conversion takes more than renaming a file

SRT usually numbers cues and separates milliseconds with commas. WebVTT begins with WEBVTT, uses periods for milliseconds, and can include cue settings, notes, styles, and regions.

The converter reads valid time ranges and text, then writes a basic, broadly compatible track. Complex WebVTT styles, regions, and notes do not migrate unchanged, so inspect the preview.

Parse cue start, end, and text → normalize to milliseconds → renumber and serialize in the target format.

Typical tasks

Convert SRT ↔ WebVTT · Typical tasks

Each example lists the job, the result you get, and what still needs a human check against your own files.

01

Turn SRT into WebVTT for the web

Task
You have 120 UTF-8 SRT cues for an HTML5 video caption track.
Result
Get a .vtt file with a WEBVTT header, period milliseconds, and the original cue text.
Check
Load it in the target player. Complex styles, regions, and cue settings are not preserved unchanged.
02

Convert VTT for an SRT-only editor

Task
A basic WebVTT track must enter an editing workflow that accepts only SRT.
Result
Valid ranges become numbered SRT cues with comma milliseconds while text remains.
Check
WebVTT-only STYLE, REGION, and NOTE structures are dropped. Review the cue preview before download.
03

Clean secrets before publishing captions

Task
Conversion is complete, but names, emails, or internal codes may remain in the subtitles.
Result
Download the conversion, then create a sharing copy with the text redaction tool.
Check
Format conversion does not detect secrets. Read natural-language addresses and nicknames manually.

FAQ

Convert SRT ↔ WebVTT · FAQ

Can I just rename the extension?

Not reliably. Headers, millisecond separators, and parts of the syntax differ, so a player may reject the file.

Does it support ASS, SSA, or LRC?

No. This version promises only SRT and WebVTT. Other timing and style grammars need dedicated parsing.

Are VTT styles preserved?

Basic cue text is preserved. STYLE, REGION, NOTE, and complex cue settings are not emitted unchanged.