Skip to content
Free Subtitle Converter
Language
Color theme
Support us

Subtitle file formats explained, from SRT to Spruce STL

What each subtitle format is, what it looks like, where it is used and what changes when you convert it: SRT, WebVTT, ASS, TTML, SAMI, LRC and more.

By Syed Peera Saheb · Published

The short answer

Most subtitle formats store the same three things: when a caption appears, when it disappears and what it says. SRT works almost everywhere, WebVTT is the format web browsers need, and the others exist for styling, broadcast, older software or music lyrics.

This page goes through every format the converter on this site reads and writes. For each one you get a tiny example, the places you are likely to meet it, and what survives a conversion. All of them are text files, so you can open any of them in a plain text editor to see what is inside. The converter recognizes a format from the contents of the file, not from its extension, so a file with the wrong extension still opens.

Formats the converter reads and writes
FormatExtensionReadWriteTypical use
SubRip.srtYesYesPlayers, TVs, video editors, most platforms
WebVTT.vttYesYesWeb video, browsers, e-learning
Advanced SubStation Alpha.assYesYesStyled subtitles, anime, MKV files
SubStation Alpha.ssaYesWritten as ASSOlder styled subtitles
SBV.sbvYesYesCaption files from YouTube
TTML and DFXP.ttml, .dfxp, .xmlYesYesStreaming, broadcast, professional delivery
MicroDVD.subYesYesOlder players and downloads, timed in frames
SubViewer.subYesNo (written as SRT)Older software
SAMI.smi, .samiYesYesOlder Windows media players and downloads
LRC.lrcYesYesSong lyrics in music players
CSV.csvYesYesSpreadsheets and review lists
Spruce STL.stlYesYesDVD authoring, timed in frames
Plain text.txtNoYesTranscripts without timings

SRT and WebVTT: the two everyday formats

SRT comes from SubRip, a program that read subtitles from DVDs. Each caption has a number, a timing line with a comma before the milliseconds, the text and a blank line. It has no official specification, which is why players accept small variations. Formatting is limited to tags such as <i>, <b> and <u>.

WebVTT is a W3C standard. The file starts with WEBVTT, the timing line uses a dot before the milliseconds, and caption numbers are optional. It can also position and style captions, but players outside the browser often ignore that. Converting between the two keeps every timing, line break, and italic, bold and underline tag. WebVTT position and style settings are not carried over to SRT, and the converter does not write them when it creates a VTT file either. A speaker written as <v Name> in a WebVTT file is kept when you write WebVTT again and left out of other formats.

The same caption as SRT, then as WebVTT
1
00:00:04,300 --> 00:00:06,800
Over here.
<i>Follow my voice.</i>

WEBVTT

00:00:04.300 --> 00:00:06.800
Over here.
<i>Follow my voice.</i>

ASS and SSA: subtitles with styles

SubStation Alpha and its successor, Advanced SubStation Alpha, keep a list of named styles (font, size, colors, outline and position) and one Dialogue line per caption. Override tags in curly braces, such as {\an8} or {\i1}, change the look of a single line. They are popular for anime and are often found inside MKV video files.

Converting from ASS or SSA keeps each line's timing and words, line breaks written as \N, and italic, bold and underline. Fonts, colors, positions and effects are dropped, comment lines are skipped and vector drawings are removed. Converting to ASS gives every caption one default style: white Arial with a black outline at the bottom of a 1920 × 1080 frame. SSA files are written as ASS, which every program that reads SSA also understands.

One ASS event line
Dialogue: 0,0:00:04.30,0:00:06.80,Default,,0,0,0,,Over here.\N{\i1}Follow my voice.{\i0}

SBV and SubViewer

SBV is the simple format YouTube has long used for caption files. A caption is a start time and an end time separated by a comma on one line, followed by the text. YouTube's help pages call it SubViewer. Markup is not supported, so the converter removes italic, bold and underline when it writes SBV.

SubViewer 2 files look similar but use hundredths of a second and often start with an [INFORMATION] header. The converter reads them, skips the header, and saves them as SRT when you shift or clean them, because it does not write SubViewer.

An SBV caption
0:00:04.300,0:00:06.800
Over here.
Follow my voice.

TTML and DFXP: XML timed text

TTML, Timed Text Markup Language, is an XML format from the W3C. DFXP was the name of an earlier draft, and the two extensions hold the same kind of document. Streaming services, broadcasters and professional subtitle tools use TTML and profiles of it such as IMSC and EBU-TT.

The converter reads the text, timings, line breaks and italic, bold and underline from TTML and DFXP, including tick and frame based times. Regions, colors, fonts and other styling are dropped. When it writes TTML or DFXP, it creates a plain TTML 1 document with times in milliseconds and the three kept text styles. The guide to XML subtitles explains the details.

A caption in TTML
<p begin="00:00:04.300" end="00:00:06.800">Over here.<br/><span tts:fontStyle="italic">Follow my voice.</span></p>

MicroDVD SUB and Spruce STL: formats that count frames

MicroDVD files store frame numbers instead of times: {100}{150} means from frame 100 to frame 150. To turn frames into seconds, the converter needs the frame rate of the video. Many files declare it in a first line such as {1}{1}23.976, and the converter uses that. Otherwise it uses the frame rate you choose, 23.976 by default. A vertical bar starts a new line, and {y:i} makes a line italic. When writing MicroDVD, the converter adds the frame rate line, keeps italics only for lines that are entirely italic and removes other formatting.

Spruce STL is a text format from DVD authoring software. Each line holds a start and end timecode ending in frames, then the text. The converter reads its ^I, ^B and ^U style codes and writes them back. Spruce STL is not EBU STL, the binary broadcast format that shares the .stl extension. The converter does not read or write EBU STL.

MicroDVD, then Spruce STL, both at 23.976 frames per second
{1}{1}23.976
{103}{163}Over here.|{y:i}Follow my voice.

00:00:04:07 , 00:00:06:19 , Over here.|^IFollow my voice.^I

SAMI and LRC: formats that only store start times

SAMI is an HTML-like format from Microsoft. A <SYNC Start=...> tag gives the time in milliseconds when the text that follows appears, and an empty SYNC clears the screen. A SAMI file can hold several languages as paragraph classes. The converter reads the first language it finds and keeps italic, bold and underline.

LRC files time song lyrics for music players, one line per timestamp such as [00:12.50]. A line can carry several timestamps when a chorus repeats, and an [offset:...] tag moves everything. When reading SAMI or LRC, each caption ends when the next one starts and the last one lasts four seconds. When writing LRC, each caption becomes one line, so line breaks turn into spaces, formatting is removed, and an empty timestamp marks a pause. Word-by-word timing from enhanced LRC files is not kept.

An LRC file
[00:04.30]Over here. Follow my voice.
[00:06.80]
[00:07.10]Soft piano music

CSV and plain text

CSV files are handy for reviewing subtitles in a spreadsheet. The converter reads a CSV file whose first row has start, end and text columns, under names such as Start, End and Text, separated by commas, semicolons or tabs. Times can be clock times like 00:00:04.300 or plain seconds, and whole numbers are read as milliseconds when the heading says ms. The CSV it writes has the columns Number, Start, End, Duration and Text, without formatting.

Plain text is an output only. It keeps the words and drops the timings, so it cannot be read back as subtitles. You can join the captions into paragraphs or put a timestamp at the start of each line, which is the job of the subtitle to text tool.

What every conversion keeps, and what it never does

Whatever the formats, the converter keeps each caption's start and end time to the millisecond where the target format allows, the words, and line breaks wherever the target format has them. It keeps italic, bold and underline when both formats can show them. It saves every file as UTF-8 and lets you choose another text encoding if the letters in the preview look wrong.

It does not keep positions, colors, fonts, karaoke timing or animation, and it does not read image subtitles such as Blu-ray SUP or DVD IDX files, which would need character recognition. It also does not read broadcast formats such as SCC or EBU STL, extract subtitles from video files, or translate text. All conversion happens in your browser, and your file is not uploaded.

Open the subtitle converter
Buy me a coffee