creatorvalet Search

Convert VTT to SRT

Convert representable WebVTT cues to numbered SRT without changing their timing or text.

  • SECURE
  • NO UPLOADS
  • NO SIGNUP
  • BROWSER BASED
  • FREE
  • FOREVER.

Support us with a link or a share

Format conversion only. Cue times and text stay local and are verified after conversion.

Convert VTT to SRT only when the cues are representable

WebVTT can describe more than plain timed captions. A file may contain NOTE, STYLE, or REGION blocks, per-cue position and alignment settings, or timestamps embedded inside payload text. Standard SRT has no faithful general representation for those features. This converter stops when it finds them instead of silently deleting layout or metadata.

For representable cues, the job is precise: replace WebVTT timestamp periods with SRT commas, expand times to an hours field, add sequential cue numbers, and preserve each start, end, and payload line. A custom VTT cue identifier cannot occupy the SRT number slot, so it is replaced and the final receipt states how many identifiers changed.

Strict parsing prevents plausible damaged output

The source must be strict UTF-8 and begin with a valid WEBVTT header followed by a blank line. Every cue needs a valid timing separator, a positive duration, and payload. Unsupported X-TIMESTAMP-MAP and inline timestamp semantics are rejected. The parser reports the relevant line and column rather than extracting whatever resembles a time.

After writing SRT, the converter parses the whole result independently through the SRT path. It compares the cue count, integer-millisecond boundaries, and payload lines with the VTT source. Only a matching result becomes downloadable. This reopened-output check catches writer mistakes that a successful string replacement would miss.

Timing correction remains a separate job

Format conversion does not shift early captions, correct growing drift, translate text, or edit cue content. If the subtitles are out of sync, use the subtitle timing tool before or after conversion. If the destination accepts WebVTT, keeping the original may be better when the file uses VTT-only layout features.

Open a local .vtt file or paste its complete text. The preview may be clipped, but the download uses every verified byte and changes only the filename extension to .srt. No subtitle content, filename, timing, or output is uploaded or stored. For the opposite direction, use SRT to VTT.

Have an idea for this tool?

Tell us what would make this tool more useful, or suggest another tool you would like us to build.

Questions

What happens to VTT cue identifiers?

SRT requires sequential cue numbers. Custom VTT identifiers are replaced by those numbers and the receipt reports how many identifiers changed.

What happens to STYLE, REGION, NOTE, or cue settings?

They have no faithful general SRT representation, so the converter stops with a clear error instead of dropping them silently.

Does conversion change subtitle timing or text?

No. Each output cue is reparsed and its millisecond boundaries and payload lines are compared with the VTT source.

Are subtitle files uploaded?

No. Parsing, conversion, verification, preview, and download generation happen locally in this browser tab.