Skip to content
toolsdocks

Convert a subtitle file

Convert SRT, VTT, ASS/SSA, SBV, TTML and JSON subtitles, with time shift and frame-rate change.

Runs on your device
Loading tool…

How to use

  1. Paste subtitles, open a file, or add several files for a batch.
  2. Choose the output format and an optional shift or frame-rate conversion.
  3. Copy or download; a batch downloads as a ZIP.

Worked example

The SRT time “00:01:02,500” becomes “00:01:02.500” in WebVTT and “0:01:02.50” in ASS. Converting 23.976 → 25 fps multiplies every time by 0.95904 (10:00.000 becomes 9:35.425).

Supported formats and limits

InputSRT, VTT, ASS, SSA, SBV, TTML/DFXP (basic), JSON
OutputSRT, VTT, ASS, SSA, SBV, TTML, JSON, TXT
EngineShared subtitle parser and serializers; encoding detection (UTF-8/UTF-16 byte-order marks, UTF-8, Windows-1252 fallback)

Limitations

  • ASS override tags such as {\i1} are converted to basic italic/bold where possible and otherwise removed; positions, colours and karaoke effects are not kept.
  • ASS/SSA output uses one default style.
  • TTML support covers timing, line breaks and italic/bold/underline; regions and layout are ignored.
  • Output is always UTF-8.

Questions

What changes between SRT and VTT?

Mainly the timestamp format and header: 00:01:02,500 in SRT becomes 00:01:02.500 in WebVTT, and the file starts with WEBVTT. Italic, bold and underline are kept.

What is lost when converting from ASS?

Fonts, positions, colours and karaoke effects. Override tags are turned into basic italic or bold where possible and otherwise removed. ASS output uses one default style.

How does the frame rate conversion work?

Every time is multiplied by the ratio of the two rates. From 23.976 to 25 fps the factor is 0.95904, so 10:00.000 becomes 9:35.425.

Guides

Privacy

Runs on your device. Files and text are processed in this browser tab and are not uploaded.

See the privacy policy for how toolsdocks handles data.