Utilia

Subtitle Converter

Convert subtitles between SRT, WebVTT, ASS/SSA and SBV in your browser, shift the timing in milliseconds and fix frame rate drift such as 23.976 to 25 fps.

Frame rate conversion
Leave both values equal for no change. Example: 23.976 → 25 for subtitles timed for a film release played on a PAL (25 fps) video.
Input format
–
Subtitles
–
Last subtitle ends at
–
Removed (before 0:00)
–

How to convert a subtitle file

  1. Drop a subtitle file on the drop zone (SRT, VTT, ASS, SSA or SBV), or paste the subtitles in Subtitles to convert.
  2. Leave Input format on Detect automatically, or pick the format yourself if the detection is wrong.
  3. Choose the Output format: SRT (SubRip), WebVTT, ASS (Advanced SubStation Alpha) or SBV (YouTube).
  4. If the subtitles are out of sync, enter a Time shift (ms) and, when the drift grows over the film, set a Frame rate conversion.
  5. Tick Remove formatting tags if you want plain text only.
  6. Press Convert, check the result in Converted subtitles, then use Copy or Download.

The file is read and converted in your browser. Nothing is uploaded.

What each format stores

  • SRT (SubRip) is the most widely supported format: a number, a timing line such as 00:01:02,345 --> 00:01:04,000 (a comma before the milliseconds) and one or more lines of text. Players accept a few HTML-like tags: <i>, <b>, <u> and <font color>. Many files also carry {\an8} to put a line at the top of the screen; this tool keeps it.
  • WebVTT is the format of the HTML5 <track> element and most streaming players. It starts with a WEBVTT header, uses a dot before the milliseconds (00:01:02.345), and may contain NOTE comments, STYLE and REGION blocks, cue identifiers and cue settings (align:start line:10%). This tool skips the comment and style blocks, keeps identifiers and settings when you convert VTT to VTT, and escapes & and < as the specification requires.
  • ASS / SSA (SubStation Alpha) is used by fansubs and MKV files. Times use centiseconds (0:01:02.35), and each Dialogue line has a style, an actor name and override tags such as {\i1}, {\pos(…)} or {\c&H0000FF&}. When you convert ASS to ASS, the script info, the V4+ styles and the original override tags are kept. When you convert to another format, italics, bold, underline and colour become SRT or VTT tags; positioning, karaoke and vector drawings can’t be represented and are dropped.
  • SBV is the simple text format of YouTube: 0:01:02.345,0:01:04.000 followed by the text, with no formatting.

Fixing out-of-sync subtitles

If the subtitles are early or late by the same amount from start to finish, a time shift is enough: 2000 shows every line two seconds later, -500 half a second earlier. Lines that would end before 0:00 are removed and counted under Removed (before 0:00).

If the delay grows steadily (fine at the start, several seconds off at the end), the subtitles were timed for a different frame rate. PAL releases play films at 25 fps instead of 23.976 fps, so they run about 4 % faster. Set Subtitles made for to the original rate and Video you play to your video’s rate; every time is multiplied by from ÷ to. The rates 23.976, 29.97 and 59.94 are handled with their exact values (24000/1001, and so on). The frame rate is applied first, then the shift.

Frequently asked questions

Why does my converted file show the wrong accents?

Old SRT files are often saved in Windows-1252 rather than UTF-8. This tool detects UTF-8 and UTF-16 (by their byte order mark) and otherwise recognizes Windows-1252 (Western European), Windows-1251 (Cyrillic) or Windows-1256 (Arabic) from the text itself; it always writes UTF-8, which every modern player reads.

Will ASS styles and positions survive a conversion to SRT?

Only partly. Italics, bold, underline, colour and the {\an8} top position are carried over. Fonts, outlines, exact positions, rotations and karaoke effects have no equivalent in SRT or WebVTT, so they are lost. Keep the original ASS file if you need them.

Can I convert to SSA?

The tool reads both SSA (v4) and ASS (v4+) files and writes ASS, which every player that reads SSA also supports.

My file has no line numbers. Will it still work?

Yes. The parser looks for the timing lines, so missing numbers, missing blank lines between subtitles or a dot instead of a comma in SRT files are tolerated.

What does the time shift do to overlapping subtitles?

Nothing special: every subtitle moves by the same amount, so overlaps stay as they were. The output is sorted by start time.