Pipeline

How SubCraft works

Subtitle files are text. Parsing them needs no server, no GPU, no account — just a correct parser and a serializer. That is the whole product.

The engine

  • Parse — splits the file into blocks, finds each HH:MM:SS,mmm --> HH:MM:SS,mmm timing line, and captures the cue text. Handles SRT numbering, VTT headers, NOTE blocks and stray whitespace.
  • Model — cues become { start, end, text } in milliseconds. Everything downstream works on that clean structure.
  • Transform — convert (re-serialize in another format), shift (offset all timings, clamped at zero), edit (mutate cue text in the table), transcript (strip timings).
  • Serialize — back to SRT or VTT with correct separators, ordering and headers.

Why local matters

Subtitle files are small, so upload-based tools feel instant — until you realize every file you "fixed" now lives on someone else's server, including unreleased video captions. SubCraft keeps the file in a FileReader and a string. That is the entire data flow.

Try a tool

Pick any converter — it takes seconds.

SRT to VTT