Subtitles seem simple — text at the bottom of a video. But the format landscape is surprisingly fragmented: at least six common formats, each with different capabilities, different container support, and different compatibility profiles. Choosing the wrong subtitle format means losing styling during conversion, or discovering that your carefully timed captions don't display on the target platform.

This guide covers every subtitle format you'll encounter, how they interact with video containers (MKV, MP4, WebM), the critical distinction between soft and hard subtitles, and how to convert between formats without losing timing or styling.

Subtitle Format Reference

FormatExtensionTypeStylingBest For
SRT (SubRip).srtTextNone (plain text only)Universal compatibility
ASS/SSA.ass / .ssaTextFull (fonts, colors, position, animation)Anime, styled subs
VTT (WebVTT).vttTextBasic (CSS-like)Web video (HTML5)
PGS (SUP).supImageN/A (pre-rendered images)Blu-ray subtitles
VobSub (IDX/SUB).idx + .subImageN/A (pre-rendered images)DVD subtitles
TTML/DFXP.ttml / .dfxpXML textFull (XML-based styling)Broadcast, Netflix

SRT: The Universal Standard

SubRip Text (.srt) is the most widely supported subtitle format. It's a plain text file with numbered entries, each containing a timestamp range and the subtitle text:

1
00:00:01,000 --> 00:00:04,000
This is the first subtitle.

2
00:00:05,000 --> 00:00:08,500
This is the second subtitle.

Advantages: Works everywhere. Every video player (VLC, mpv, MPC-HC, Plex, Jellyfin), every editing tool, every platform that accepts subtitles supports SRT. Easy to create and edit in any text editor. Small files (a 2-hour movie's subtitles are typically 50-80KB).

Limitations: No styling. No positioning (always bottom-center). No fonts, colors, or animations. Bold and italic tags (<b>, <i>) are supported by some players but not all. For anything beyond plain text at the bottom of the screen, you need ASS or VTT.

Extract subtitles from video: MP4 to SRT | MKV to SRT | AVI to SRT | WebM to SRT

ASS/SSA: Full Styling Control

Advanced SubStation Alpha (.ass) and SubStation Alpha (.ssa) provide complete control over subtitle appearance: fonts, colors, sizes, positioning, rotation, animation, karaoke effects, and drawing commands.

Where you'll encounter ASS: Anime fansubs almost exclusively use ASS for styled subtitles — typesetting signs, matching font styles to characters, karaoke timing for opening/ending songs. Fansub groups spend hours on ASS styling that rivals professional typesetting.

Container support: MKV fully supports embedded ASS subtitles, including font attachments (the MKV file embeds the required fonts so the subtitles display correctly on any system). MP4 does not support ASS — converting MKV with ASS subs to MP4 either loses the styling (flattened to plain text) or requires burning the subtitles into the video.

Converting ASS to SRT: ASS to SRT strips all styling and extracts just the text and timing. This is lossy — you can't convert SRT back to ASS and recover the styling.

VTT: The Web Standard

WebVTT (.vtt) is the W3C standard for HTML5 video subtitles. It's used with the <track> element in web pages:

<video src="video.mp4" controls>
  <track src="subs.vtt" kind="subtitles" srclang="en" label="English">
</video>

VTT supports basic styling via CSS-like cue settings: position, alignment, size, and inline tags for bold/italic/underline. It also supports vertical text and region-based positioning.

VTT vs SRT: VTT is essentially SRT with web-compatible additions. The timestamp format differs slightly (VTT uses periods for milliseconds, SRT uses commas). Converting between them is trivial: SRT to VTT | VTT to SRT.

Extract VTT from video: MKV to VTT | MOV to VTT

PGS and VobSub: Image-Based Subtitles

PGS (Presentation Graphic Stream) subtitles are bitmap images used in Blu-ray discs. Each subtitle is a pre-rendered image (typically white or yellow text on a transparent background). Because they're images, not text, they can include any visual appearance — but they can't be searched, edited, or automatically translated.

VobSub (IDX/SUB) is the DVD equivalent: bitmap subtitle images stored in a .sub file with timing information in a .idx file.

The OCR option: To convert image-based subtitles (PGS, VobSub) to text-based formats (SRT), you need OCR (Optical Character Recognition). Tools like SubtitleEdit or Subtitle OCR read the bitmap images and extract the text. The accuracy depends on subtitle clarity and font — clean white text on dark backgrounds OCRs well, but stylized or small fonts produce errors.

Container support: MKV supports both PGS and VobSub natively. MP4 doesn't support either. When converting Blu-ray MKV with PGS subtitles to MP4, the subtitles must either be OCR'd to SRT and embedded as text, or burned into the video.

Soft Subtitles vs Burned-In (Hard) Subtitles

Soft subtitles are stored as a separate track in the video container. The player reads the subtitle data and renders it over the video during playback. The viewer can toggle them on/off, switch languages, and adjust display settings (size, color, position in some players).

Burned-in (hard) subtitles are rendered directly into the video pixels during encoding. They're part of the image — they can't be turned off, changed, or removed. The video must be re-encoded to add or remove them.

AspectSoft SubtitlesBurned-In
Toggle on/offYesNo
Multiple languagesYes (separate tracks)No (one language in the video)
QualityCrisp (rendered at display resolution)Fixed (encoded at video resolution)
CompatibilityDepends on container/format supportWorks everywhere (it's just video)
File size impactNegligible (text is tiny)Slight increase (more visual complexity)
Social mediaOften stripped or ignoredAlways visible

When to burn in: Social media (platforms strip soft subs), sharing with non-technical users (avoiding player compatibility issues), when the subtitles are part of the creative intent (foreign language films where subs are integral). For all other cases, keep subtitles soft.

Subtitle Support by Container

ContainerSRTASS/SSAVTTPGSVobSub
MKVYesYes (with embedded fonts)YesYesYes
MP4tx3g only (SRT-like)NoNoNoNo
WebMNoNoYes (limited)NoNo
AVINo (external only)NoNoNoNo
MOVtx3g (like MP4)NoNoNoNo

MKV is the clear winner for subtitle support. It's the only container that handles every subtitle format, including styled ASS with embedded fonts and image-based PGS from Blu-rays. If subtitle preservation matters, MKV is the correct container. Convert MP4 to MKV to add subtitle tracks.

Converting Between Subtitle Formats

Text-to-text conversions (SRT ↔ VTT, ASS → SRT) preserve timing and text content. Styling is lost when converting from a styled format (ASS) to a plain format (SRT). These conversions are instant.

  • SRT to VTT — Adds VTT header, changes comma to period in timestamps
  • VTT to SRT — Strips VTT header, adds sequence numbers
  • ASS to SRT — Strips all styling, extracts text and timing only
  • SRT to JSON — Structured data format for programmatic processing
  • SRT to TXT — Plain text transcript (no timestamps)

Image-to-text conversions (PGS → SRT, VobSub → SRT) require OCR and are not instant. Accuracy varies. This is the only subtitle conversion that can introduce errors.

Extracting subtitles from video: If subtitles are embedded as a soft track, they can be extracted without re-encoding the video. MP4 to SRT, MKV to SRT, and WebM to SRT extract the subtitle track from the container.

Captions for Accessibility

Subtitles and captions are related but distinct:

  • Subtitles translate spoken dialogue into text for viewers who don't understand the spoken language.
  • Captions (closed captions) transcribe all audio content — dialogue, sound effects, music descriptions — for viewers who are deaf or hard of hearing.

Accessibility regulations increasingly require captions:

  • ADA (Americans with Disabilities Act): Requires captions for video content on government websites and many private sector websites.
  • WCAG 2.1 Level A: Requires captions for all pre-recorded video. Level AA requires captions for live video.
  • EU Accessibility Act: Requires captions for video content in EU member states starting 2025.

For accessibility compliance, captions should include speaker identification, sound effect descriptions ([phone rings], [door closes]), and music descriptions ([upbeat music playing]). SRT and VTT both support this; VTT additionally supports the kind="captions" attribute in the track element to distinguish captions from subtitles semantically.

Subtitle format choice follows the same pattern as video format choice: use the simplest thing that works. SRT for universal compatibility, VTT for web delivery, ASS for styled subtitles in MKV, and burned-in only when the platform demands it.

The most common mistake is losing subtitles during container conversion. Converting MKV (with ASS subtitles and embedded fonts) to MP4 silently drops the styled subtitles unless you explicitly handle them — either by burning them in or extracting to SRT. Always check that subtitles survived your conversion before deleting the source file.