Skip to content
Pixora
SubtitlesFormatsReference

Subtitle formats explained: SRT, VTT, ASS, SBV and TTML

SRT, VTT, ASS, SBV and TTML all pair text with time, but they were built for different jobs. Here is what each one is good at and how to pick.

By Updated 20 July 20266 min read

Every subtitle format solves the same core problem — show this text between this start and end time — but they diverge sharply on everything else: how much styling they allow, whether they are plain text or XML, and which players expect them. Knowing the landscape saves you from wrestling a broadcast file into a web player or an anime karaoke track into a format that cannot hold its effects.

This is a reference you can come back to. We will run through all five formats, put them in one comparison table, and finish with a plain rule for choosing.

What is the quick comparison?

If you only read one thing, read this table. It captures the differences that actually decide which format you should use.

The five common subtitle formats at a glance.
FormatExtensionUnder the hoodStylingTypical use
SubRip.srtPlain text, comma msNoneEverything — players, uploads, sharing
WebVTT.vttPlain text, period msPositioning + CSSHTML5 video on the web
Advanced SubStation.assPlain text with style blocksFull: fonts, colour, animationAnime, karaoke, fansubs
YouTube SBV.sbvPlain text, no cue numbersNoneLegacy YouTube exports
TTML / DFXP.ttml / .dfxpXMLRich, standardisedBroadcast, streaming, Netflix

What is SRT and why is it everywhere?

SubRip (.srt) is the lingua franca of subtitles. Each cue is a number, a start --> end timestamp using a comma before the milliseconds, and the text. It carries no styling at all — no fonts, no colours, no positions — and that minimalism is precisely why it works everywhere. VLC, Plex, Jellyfin, YouTube, Vimeo and nearly every editor read it without complaint.

If you keep one canonical copy of your captions, make it an SRT. It is the safest source to convert from, because every other format can be produced out of it. Only reach past SRT when you need something it cannot express, like on-screen positioning or coloured text.

When should I use VTT?

WebVTT (.vtt) is SRT reborn for the browser. It looks almost identical — the two differences are a mandatory WEBVTT header line and a period instead of a comma before the milliseconds — but it is the only format an HTML5 <track> element will load. It also adds genuinely useful web features: cue positioning, text alignment, and styling through CSS ::cue rules.

Use VTT whenever captions live inside a web page. If you have an SRT and need it on your own site, the SRT to VTT converter makes the switch in seconds, and our dedicated guide to converting SRT to VTT covers the server-side MIME-type detail that trips people up.

What makes ASS different?

Advanced SubStation Alpha (.ass) is the format for people who treat subtitles as design. Where SRT has no styling, ASS has a whole style system: named styles with fonts and colours, precise positioning anywhere on the frame, outlines and shadows, rotation, and the animated timing effects used in karaoke. It is the standard of the anime fansub world for exactly this reason.

The trade-off is portability. All that richness means most simple players either ignore the effects or refuse the file, and web <track> does not accept it at all. Convert ASS to SRT or VTT when you need to play it somewhere ordinary — accepting that the styling is flattened away — or author in ASS when the styling is the whole point.

The SRT to ASS tool promotes a plain file into the ASS structure so you can start styling, and ASS to SRT strips it back to plain text for a player that needs it.

Convert ASS to plain SRT

What are SBV and TTML for?

SBV — YouTube’s old export

SBV (.sbv) is the plain-text caption format YouTube used to export from its own editor. It is much like SRT but drops the cue numbers and uses a slightly different timestamp style. You will mostly meet it when pulling old captions out of YouTube. It has no styling, so converting it to SRT loses nothing and makes it far more portable — that is what SBV to SRT is for.

TTML — the broadcast standard

TTML (Timed Text Markup Language, sometimes seen as .dfxp) is an XML-based format built for broadcast television and professional streaming. Netflix, the BBC and other large platforms use it because XML lets it carry rich, standardised styling and metadata in a way that survives a formal delivery pipeline. It is powerful but heavy, and no consumer media player expects it. If someone hands you a TTML file to watch locally, TTML to SRT turns it into something ordinary.

So which format should I actually use?

Pick by destination, and keep a plain master to convert from.

  • Watching in a media player, or uploading to a platform: SRT.
  • Embedding in a web page with HTML5 video: VTT.
  • Anime, karaoke, or anything where styling and positioning are the point: ASS.
  • Exported from old YouTube: SBV — convert to SRT to make it portable.
  • Handed a broadcast or Netflix-style file: TTML — convert to SRT to watch it locally.

Whatever you are moving between, the all-in-one subtitle converter reads and writes every format on this page in your browser, and the subtitle editor lets you inspect and tidy the result before you save. And once the format is right, our guide to add subtitles to a video covers putting them on the clip itself. Nothing is uploaded — the file stays on your device throughout.

Convert between any subtitle format

Frequently asked questions

Which subtitle format is the most compatible?

SRT, by a wide margin. Its lack of styling is what makes it universal — almost every player, uploader and editor reads it. Use it as your master format and convert to others only when a specific destination requires it.

Can I convert a styled ASS file to SRT without losing anything?

The text and timing convert perfectly, but SRT has no way to store fonts, colours or positions, so all styling is lost. Keep the original ASS if you might want the styled version later.

Is TTML the same as DFXP?

They are very closely related. DFXP is a particular profile of TTML, so the two are often used interchangeably and share the same XML structure. In practice you can treat a .dfxp file as a TTML file.

Which format works in HTML5 video?

Only VTT. The <track> element does not accept SRT, ASS, SBV or TTML, so any of those has to be converted to WebVTT before a browser will display it.

Is converting between the plain-text formats lossless?

Between SRT, VTT and SBV, yes — they all store the same thing, so only punctuation and a header change and every word and timestamp is preserved. Loss only happens when you downgrade from a styled format like ASS or TTML, because the plainer format has no place to keep the styling.

Why are subtitle files so small?

Because they store only text and timings, not audio or video. Even a two-hour film’s captions are typically a few tens of kilobytes, so file size is never a reason to pick one format over another — compatibility and styling are what matter.