The Most Common Subtitle Formats
Subtitles are essential for accessibility, language learning, and video SEO. Each format has distinct capabilities for different contexts.
SRT — SubRip Text (Universal)
1
00:00:01,000 --> 00:00:04,500
Welcome to KaijuConverter.
Compatible with virtually every media player and streaming platform. Supports basic formatting (bold, italic, color via HTML tags). No precise positioning.
WebVTT — Web Standard
WEBVTT
00:00:01.000 --> 00:00:04.500
Welcome.
00:00:05.000 --> 00:00:08.200 align:center line:80%
Positioned text.
Native format for HTML5 <track> element. Supports positioning, alignment, and chapter cues.
<video src="video.mp4">
<track kind="subtitles" src="en.vtt" srclang="en" label="English" default>
</video>
ASS/SSA — Advanced Styling
Most feature-rich format: custom fonts, karaoke effects, text animations, multiple styles per file. Massively used in anime fansubs. Works in VLC, mpv, Kodi; not in native OS players.
Format Comparison
| Format | Styling | Positioning | HTML5 | Players | Use Case |
|---|---|---|---|---|---|
| SRT | Basic | No | Partial | Universal | General distribution |
| VTT | Basic+ | Yes | ✅ | Modern | Web / streaming |
| ASS | Advanced | Yes | ❌ | VLC, mpv | Anime, fansubs |
Convert with FFmpeg
# SRT → VTT
ffmpeg -i subtitles.srt subtitles.vtt
# VTT → SRT
ffmpeg -i subtitles.vtt subtitles.srt
# Extract first subtitle track from MKV
ffmpeg -i video.mkv -map 0:s:0 subtitles.srt
# Embed SRT into MP4
ffmpeg -i video.mp4 -i subs.srt -c copy -c:s mov_text output.mp4
Subtitle Edit (Windows, free) handles 300+ formats with a full GUI.
Conclusion
SRT for universal compatibility. WebVTT for web and HTML5. ASS for stylized anime content. FFmpeg converts between all formats for free.
Advanced Use Cases
Streaming platforms: each platform has specific format — Netflix uses TTML/IMSC for internal distribution; YouTube accepts SRT, VTT, SBV for community subtitles; Vimeo prefers VTT and SRT; HBO Max uses IMSC1.1. Converting between these formats preserves timing but may simplify styling (TTML/IMSC support complex styling, SRT is plain text with basic italics). Accessibility compliance: ADA and WCAG require synchronized closed captions for public video — VTT files are the HTML5 standard (<track kind="captions" src="captions.vtt">). For broadcast TV: CEA-608/CEA-708 are legacy standards, still required in some US contexts. Professional localization: translators work with dedicated software (Subtitle Edit, Aegisub, EZTitles) that exports to multiple formats by destination. ASS/SSA (Advanced SubStation Alpha) offers sophisticated styling (positioning, colors, fonts, karaoke effects) used in anime fansubs. Live captioning: protocols like WebVTT chunks streaming enable real-time captions for webinars, live events, video podcasts.
Best Practices and Professional Tips
Timing precision: SRT and VTT have millisecond precision; maintain alignment with destination video frame boundaries (1 frame ≈ 41ms at 24fps, 33ms at 30fps, 16ms at 60fps) for perfect sync. Reading speed: professional rule — max 17 characters per second (CPS) for general audience, 12 CPS for children. Subtitles too dense cannot be read in real time. Line breaks: max 2 lines per cue, 42 characters per line (37 for CJK languages). Break by logical units (clauses), not in middle of phrases. Encoding: UTF-8 guarantees special characters (accents, ñ, Asian symbols, emoji). Legacy files in Windows-1252 or ISO-8859-1 break with non-Latin characters. Multi-language workflow: keep a master file in original language, translate to other languages preserving exact timing — tools like Subtitle Edit offer "translate while keeping timings". Hearing impaired: include description of non-dialogue sounds ([soft music], [door closing]) for accessibility-compliant captions.
Compatibility and Technical Considerations
KaijuConverter supports all common formats (SRT, VTT, ASS, SSA, SUB, SBV, TTML, DFXP, IMSC, MicroDVD) with FFmpeg subtitle filtering and Pysubs2 as secondary engine for complex ASS/SSA styles. Preservation: exact timing (start/end cues with millisecond precision), basic formatting (italic, bold, underline where destination supports), speaker identification for multi-speaker scenarios, correct Unicode encoding (always UTF-8 output even if input is ISO-8859-1 or Windows-1252). ASS to SRT simplification: when converting ASS (which supports complex styling, positioning, colors) to SRT (plain text), we automatically simplify styles to basic SRT formatting, preserving positioning hints where possible via SRT extensions. VTT to SRT: WebVTT cues with styling convert to SRT with basic markup; cue settings (line, position, align, vertical) are documented in cue ID. Limitations: files up to 50 MB; karaoke timing in ASS is not preserved in formats without support (SRT, VTT). Privacy: TLS 1.3, Docker isolation, deletion after 2h.
Related conversions
Frequent conversions across the catalogue: