UltConvert

Subtitle Converter

Turn an SRT into WebVTT for a web player, an ASS file into plain SRT for a TV, or any caption file into text you can read. Shift the timing and fix the encoding along the way.

Subtitle Converter

or drag SRT, VTT, ASS … files here ·

Up to 95 MB each· 20 files at once· Removed after 30 min

Output

Your files are removed from our servers 30 minutes after processing.

Files are deleted 30 minutes after processingPrivacy policy

A subtitle file is a list of lines with start and end times. Converting changes how that list is written, so the words and timing carry over, while styling survives only in formats that support it.

WebVTT, the web's caption format

WebVTT at a glance

MIME type
text/vtt
File extensions
.vtt
Developed by
W3C / WHATWG
First released
2010
Open specification
Yes

WebVTT is specified by the W3C in WebVTT: The Web Video Text Tracks Format and is the format the HTML track element loads.

If you are adding captions to a video on a website, WebVTT is usually what you need. The HTML video element loads captions through a track element, and the HTML standard expects those tracks to be WebVTT. A plain SRT file will not show up in most browsers even though it looks almost identical in a text editor.

The differences are small but strict. A VTT file must begin with the word WEBVTT on its first line. Timestamps use a period before the milliseconds, as in 00:01:02.500, where SRT uses a comma. Cue numbers are optional, and a cue can carry settings for position, alignment and line, plus voice and class tags that a page's CSS can style. Converting SRT to VTT adds the header and changes the separators; converting the other way removes everything SRT cannot express.

SRT remains the most widely understood file outside the browser. Desktop players, smart TVs, editing software and most streaming uploads read it, which makes it the right target when you do not know where the file will end up. The format comes from the old SubRip program and has never had a formal specification, so stick to the plain form of numbered cues, times and text if a device is fussy.

Converting never touches the video. Subtitles here stay as a separate file that the player lays over the picture, which keeps them switchable and easy to correct later. Captions that are burned into the image, sometimes called hardcoded or open captions, are part of the video frames themselves; they cannot be extracted or converted as text, only read again with speech or text recognition.

Choosing the output format

The safest choice when you do not know what will play the file. Text and timing only, with basic bold, italic and underline tags that some players show and others ignore.

  • Desktop players, TVs and set-top boxes
  • Video editors and most upload forms
  • Archiving a clean copy of the captions

Timing, frame rates and encoding

Most sync problems fall into two kinds. If every line is off by the same amount from start to end, the subtitles were made for a version of the video with a different intro or a trimmed opening. Shift timing moves all cues by the number of seconds you enter, with decimals allowed, so a value of 1.5 delays everything by a second and a half, and a negative value pulls everything earlier.

If the offset grows as the film goes on, the subtitles were timed against a different frame rate. Films are shot at 24 or 23.976 frames per second, while European PAL broadcasts and many old DVDs run the same film at 25, which plays it about four percent faster. Set Original frame rate to the rate the subtitles were made for and Target frame rate to the rate of your video, and every timestamp is rescaled to match. The same settings convert frame-based MicroDVD SUB files, which count frames instead of seconds. If you are unsure which rate a video uses, the file details in most players or editors list it, and the subtitle rate is usually the other common value.

Seconds per line applies when the source has no end times, as in LRC lyric files and some plain-text inputs: each line stays on screen for the time you set. Input encoding is set to auto-detect, which reads UTF-8 and the common Windows code pages. If accented letters, Cyrillic or Arabic text still come out as symbols, pick the encoding the file was saved in, such as Windows-1251 for Russian or Windows-1256 for Arabic. The output is saved as UTF-8, which is what YouTube and current players expect.

Remove formatting tags strips bold, italic, color and font tags along with ASS override codes, leaving clean text. It is useful before handing captions to a translator or a service that rejects markup. To trim the video itself so it matches the captions, use the Trim Video tool; to change the video file's format, the video converter keeps the timeline intact.

File names matter as much as the format for players that pick up subtitles on their own. Give the subtitle file the same base name as the video, and many players, including VLC and common media servers, load it without being asked. When you have several languages, a language code between the name and the extension, as in movie.en.srt and movie.es.srt, lets those players label the tracks. Keep a copy of the original file before you shift or rescale anything, so you can start again from a clean version if a correction goes too far.

Fixing common subtitle problems

What you see: The browser player shows no captions from an SRT file.
What to do: Browsers load WebVTT through the track element. Convert to WebVTT (VTT) and point the track to the new file.
What you see: Letters such as é, ñ or ü appear as é or question marks.
What to do: Set Input encoding to the file's real code page, often Windows-1252 for Western European text, and convert again to get UTF-8.
What you see: Lines drift later and later through the video.
What to do: Use Original frame rate and Target frame rate, typically 23.976 or 24 against 25 fps, instead of a fixed shift.
What you see: Tags like {\an8} or <font color> show up in the text.
What to do: The player does not support that styling. Switch on Remove formatting tags.
What you see: Two speakers' lines run together in one long cue after converting.
What to do: The source used styling or positions to separate them. Convert to ASS to keep the layout, or split the cue in a subtitle editor before converting to SRT.
What you see: A TV or player ignores the subtitle file.
What to do: Convert to plain SRT, save it as UTF-8, and give it the same name as the video file, such as movie.mp4 and movie.srt.

How to convert subtitles

  1. Add the subtitle files

    Drop up to 20 caption files on the box above, or press Choose Files. SRT, VTT, ASS, SSA, SBV, SUB, TTML, DFXP, SMI and LRC are accepted.

  2. Pick the output

    Choose a format under Convert to. In Advanced settings you can shift the timing, change frame rate, set the input encoding or remove styling tags.

  3. Convert and download

    Press the convert button and save the new file next to your video, using the same file name so players load it automatically.

Subtitle converter questions

What is the difference between SRT and VTT?

Both are plain-text cue lists. SRT numbers each cue and uses a comma before the milliseconds; WebVTT starts with a WEBVTT line, uses a period, and adds positioning and styling options for web players.

What caption file should I upload to YouTube?

YouTube takes SRT, SBV and VTT among others, and asks for plain UTF-8 text. Basic SRT is the safest upload because styling is ignored anyway.

My subtitles appear a second too early. How do I fix that?

Enter a positive number in Shift timing to make every line appear later, or a negative one to make it appear earlier. The value is in seconds and accepts decimals.

Why do subtitles drift further out of sync as the movie plays?

The subtitles were timed for a different frame rate, usually 23.976 or 24 against 25 fps. Set Original frame rate and Target frame rate to the two values and convert again.

Will converting ASS to SRT keep colors and fonts?

No. SRT has no real styling, so colors, fonts, positions and karaoke effects are dropped and only the text and timing are kept.

Can I get a plain transcript from a subtitle file?

Yes. Choose Plain text (TXT). Leave Include timestamps off for clean text, and switch on Join lines into paragraphs to get running prose instead of short lines.

Does this tool create subtitles from a video?

No, it converts subtitle files you already have. To get text from speech, use Audio to Text and convert its output here if you need another format.

From the blog