UltKit

Subtitle Converter

Get a caption file into the format your player, editor or upload form asks for. The converter reads SRT, VTT, ASS, SBV, TTML and a dozen other subtitle types, rewrites the timestamps in the target syntax and can resync, clean or flatten the text on the way.

Subtitle Converter

or drop SRT, VTT, ASS … files here ·

Max 95 MB per file· Up to 20 files· Deleted after 30 minutes

Output

Files are processed on our servers and deleted after 30 minutes.

How to use this tool

  1. 1

    Upload the subtitle files

    Add up to 20 files of up to 95 MB each: SRT, VTT, ASS, SSA, SBV, SUB, TTML, DFXP, XML, SMI, LRC or TXT. A plain transcript with one line per caption works too.

  2. 2

    Choose the output and fix timing

    Pick a format in Convert to; SRT is preselected. If the captions run early, late or drift apart, open Advanced settings and use Shift timing or the two frame-rate fields.

  3. 3

    Convert and save

    Press Convert to SRT, or whichever format you chose, and download each file or a ZIP. The output is always UTF-8, and every upload is erased after 30 minutes.

Answer

What does a subtitle converter change?

The words stay the same. The converter rewrites the file header, the timestamp syntax and the styling markup so another program can read the captions, and it can move all the times at once.

SRT, VTT, ASS and other subtitle file formats

  • .srt
  • .vtt
  • .ass
  • .ssa
  • .sbv
  • .ttml
  • .dfxp
  • .sub
  • .smi
  • .lrc
  • .xml
  • .txt

SRT takes its name from SubRip, a Windows program that ripped DVD subtitles around 2000. It is a numbered list of cues with a start and end time and one or two lines of text, which is why nearly every player, editor and streaming upload form reads it. WebVTT grew out of SRT for the web: it is specified by the W3C, starts with the word WEBVTT and can position or style cues with CSS. TTML is the W3C's XML caption format, published as a Recommendation in 2010; DFXP was its earlier name, and streaming services use profiles of it.

SubStation Alpha (SSA) and its successor Advanced SubStation Alpha (ASS) come from fansubbing. An ASS file has a style table with fonts, colors, outlines and margins, and each line can override them, so signs and songs can sit anywhere on screen. Aegisub, the usual ASS editor, saves this format by default. SBV is YouTube's simple export format; SMI is Microsoft's SAMI, LRC holds song lyrics with line times, and TXT is plain text.

How each output writes the same cue that starts at 1 minute 23.456 seconds
FormatTimestampHeaderStyling
SRT`00:01:23,456 --> 00:01:25,789`None, cues are numbered<i>, <b>, <u> and <font> tags
WebVTT`00:01:23.456 --> 00:01:25.789``WEBVTT` on the first lineCue settings and CSS classes
ASS / SSA`0:01:23.45,0:01:25.78`[Script Info] and [V4+ Styles]Full style table and per-line overrides
SBV`0:01:23.456,0:01:25.789`NoneNone
TTML`begin="00:01:23.456"`XML document with namespacesStyle attributes in XML
TXT`[00:01:23]` with **Include timestamps**, otherwise noneNoneNone

Shift subtitle timing and convert frame rates

4.3%how much faster a 25 fps PAL release plays than the 23.976 fps original

Over a 120-minute film that adds up to almost 5 minutes, so captions timed for one release drift steadily out of sync on the other.

Shift timing moves every cue by the same amount, from −3,600 to +3,600 seconds in steps of a millisecond. Use a positive number when the words appear before the speech and a negative one, such as −1.5, when they lag behind. This is the fix when the offset is the same at the start and the end, typically caused by a different intro or a trimmed studio logo.

The frame-rate pair handles the other case. Pick the rate the subtitles were made for in Original frame rate and the rate of your video in Target frame rate; the choices are 23.976, 24, 25, 29.97 and 30 fps. Every timestamp is then scaled by the ratio, which is how European PAL releases and North American NTSC releases of the same film get matching captions. If you are not sure which way to go, compare one line near the end of the film: if it comes too late, the subtitle rate is lower than the video's.

The remaining fields work on text. Input encoding reads legacy files correctly; Remove formatting tags strips <i>, <b>, <font> and {\an8}-style codes. For TXT output, Include timestamps prefixes each line and Join lines into paragraphs merges broken lines into readable sentences, which is the setting for SRT to TXT transcripts. For ASS or SSA output, Font (Arial by default) and Font size (48, relative to a 1080-pixel-tall video) set the default style.

ASS to SRT is a one-way trip for styling

Converting ASS to SRT, VTT or TXT keeps the text and times but drops positions, colors, karaoke timing and drawn signs. Keep the original ASS file if you might restyle the subtitles later; converting the SRT back with SRT to ASS only applies one default style.

Subtitle conversion errors and how to fix them

  • The player shows no subtitles after loading the file.

    Give the subtitle exactly the video's file name with the new extension, for example movie.mp4 and movie.srt, and check the extension matches the format; a VTT renamed to .srt still has periods in its timestamps.

  • All captions are about one second early on a streaming upload.

    Enter a positive Shift timing such as 1 and convert again. Measure the offset on the first spoken line, not on a music cue.

  • A TXT transcript lost the line structure of the captions.

    Join lines into paragraphs was on, which merges lines into running sentences. Turn it off to keep one caption per line, or turn on Include timestamps to mark where each cue begins.

  • A TXT conversion produced one giant cue.

    The transcript is one paragraph. Put each caption on its own line, ideally no more than about 42 characters, then set Seconds per line.

Subtitle converter questions

Which subtitle format does YouTube accept?

YouTube Studio takes SRT, WebVTT, SBV, TTML and several broadcast formats, so you rarely need to convert for YouTube itself. SBV is one of the formats YouTube offers when you download captions you edited there; convert it to SRT before loading it into a video editor.

What format do I need for an HTML5 video track?

WebVTT. The <track> element in browsers reads only VTT files, so an SRT next to an MP4 on your site will be ignored. SRT to VTT adds the WEBVTT header and swaps the decimal commas for periods.

Will colors, fonts and positions survive the conversion?

Only between ASS and SSA. SRT, VTT, SBV and TXT have no place for per-line fonts, karaoke effects or screen positions, so an anime fansub turned into SRT keeps its words and timing but loses the styling. Basic italic and bold tags carry over to SRT and VTT unless you tick Remove formatting tags.

How do I fix subtitles that slowly drift out of sync?

Constant lag is fixed with Shift timing; growing lag means the file was made for a release with a different frame rate. Set Original frame rate to the rate the subtitles were timed for and Target frame rate to your video's, most often 23.976 to 25 or the reverse.

Can I turn a transcript into timed captions?

Yes. Upload a TXT with one caption per line and convert to SRT; each line gets the duration set in Seconds per line, one after another. The times will not match speech exactly, so fine-tune them in an editor such as Subtitle Edit or Aegisub. Start with TXT to SRT.

Why do accented letters turn into question marks or odd symbols?

The file was saved in an older code page, such as Windows-1251 for Russian or Windows-1256 for Arabic, and was read as UTF-8. Choose the right one in Input encoding and convert again; the output is written as UTF-8 so modern players display it correctly.

Can I convert image-based subtitles from a DVD or Blu-ray?

Not as text. VobSub (.sub with .idx) and Blu-ray PGS tracks store each caption as a picture, so they need optical character recognition first. The .sub files this tool reads are text-based MicroDVD files.

All Subtitle Converter tools

Pick the exact target you were asked for. Every page below is the same tool with different defaults.