VTT → SRT

Convert VTT to SRT

Create a widely compatible SRT copy of a WebVTT subtitle file without uploading it.

Local converterVTT → SRT
Loads when you add files
Quick answer

Convert VTT to SRT locally in your browser. Before a file becomes Ready, the worker parses the complete subtitle, counts cues, detects text encoding, and identifies richer formatting or WebVTT metadata.

Why convert VTT to SRT?

VTT and SRT store the same basic idea—timed text—but use different timestamp syntax and container rules. Converting creates a compatibility copy for software or publishing workflows that expect the destination format.

Full-file preflight before the queue says Ready

The Subtitle engine does more than check the filename. It sends the complete subtitle to its local Web Worker, parses every cue, validates each start/end pair, detects the text encoding, counts cues, records the timeline end, and flags richer formatting or WebVTT metadata. The queue metadata then shows useful facts such as cue count, timeline length, encoding, and whether presentation metadata was detected.

Why this matters

A file with a valid first cue but broken timing near the end is rejected during admission instead of failing only after you press Convert. Ambiguous SRT blocks containing multiple timestamp lines are also rejected rather than silently turning later timing into subtitle text.

What is preserved?

Subtitle detailConverter behavior
Cue orderKept in source order; the converter does not sort or merge cues.
Start / end timingConverted to millisecond timing where the destination supports it, with an optional exact global millisecond offset.
Line breaksDialogue line breaks are retained in timed subtitle outputs unless the chosen transcript mode changes spacing.
Readable textKept. Plain-text mode can intentionally remove inline formatting markup.
Original fileNever modified.

Advanced controls without turning this into a subtitle editor

Exact timing shiftEnter a precise -600000 to +600000 ms offset, including values such as +1350 or -780.
Formatting cleanupTimed outputs can keep inline markup or intentionally export plain cue text.
Transcript modesTXT can use no timestamps, start times, or full start → end ranges.
Byte controlsChoose LF/CRLF and optional UTF-8 BOM for downstream compatibility.

What changes during conversion?

WebVTT can carry cue identifiers, cue settings, regions, NOTE blocks, STYLE blocks, and timestamp-map metadata that simpler formats do not understand. Those features are detected during preflight so the source is not treated as plain timed text by accident.

How the browser-first Subtitle workflow works

  1. Add a subtitle. The engine checks the extension, then fully parses the file in its worker before admission.
  2. Review the queue facts. Cue count, timeline end, encoding, and richer-format flags appear with the source metadata.
  3. Choose output and controls. Set an exact timing offset, formatting cleanup, transcript options, line endings, or BOM as needed.
  4. Convert locally. The worker applies deterministic cue transforms and serializes SRT.
  5. Download a new file. The browser saves the converted copy; the original stays unchanged.

Before you replace the source subtitle

  • Spot-check early, middle, and late cue timing in the destination player.
  • Keep ASS/SSA sources if styling, karaoke, placement, or effects matter.
  • Check speaker markup and inline emphasis when moving between subtitle ecosystems.
  • Use negative timing shift carefully; the converter refuses to move cues before 00:00.
  • Keep the original until the destination tool renders the converted file as expected.
FAQ

VTT to SRT FAQ

Practical questions about converting VTT timed text to SRT, preflight validation, exact timing correction, text cleanup, and local browser processing.

Can I convert VTT to SRT without uploading the subtitle?

Yes. Preflight analysis, parsing, timing transforms, and serialization run in a browser worker. The source file is not sent to a conversion server.

Can I shift all subtitle timing precisely?

Yes. Timing shift accepts an exact offset from -600000 to +600000 milliseconds. Values such as +1350 or -780 are applied consistently to every cue. A negative shift that would move any cue before 00:00 is rejected rather than silently clipped.

Can I remove subtitle formatting?

Yes. Enable Plain text only to remove inline subtitle markup from cue text before the destination file is written.

Does the converter change the original subtitle file?

No. It creates a new downloadable output. Keep the source until you have checked timing, line breaks, speaker labels, and any formatting your workflow depends on.

What happens if a timestamp is malformed?

Full-file preflight parsing rejects malformed timed-text structure before the file enters the ready queue. The converter does not guess missing or invalid timing values.

Can I batch convert subtitle files?

Yes. Each accepted file is preflight-checked, then the shared queue converts files sequentially. Successful results can be downloaded individually or together as a ZIP.