Why Subtitle Format Matters
Subtitle formats look interchangeable on the surface (text + timestamps), but platforms have surprisingly specific requirements. Upload an SRT to a system expecting VTT and the subtitles often fail silently. Upload SCC to a YouTube video and it gets converted to a different format that may lose styling.
This post covers the practical platform compatibility matrix for the major delivery platforms in 2026, plus the gotchas that bite people. For underlying format details, see SRT vs VTT vs ASS.
Major Format Comparison
| Format | Spec | Use case |
|---|---|---|
| SRT (SubRip) | Plain text | Universal default |
| VTT (WebVTT) | W3C standard | HTML5 video, modern web |
| SCC (Scenarist) | Broadcast captions | TV, broadcast standards |
| TTML / DFXP | XML, broadcast | Netflix, broadcast |
| WebVTT | Web standard | Browser-native |
| ASS / SSA | Karaoke/styled | Anime, fansubs |
For consumer delivery: SRT is the lingua franca. For HTML5 web: VTT. For broadcast/streaming services: TTML or SCC depending on platform spec.
Platform Compatibility Matrix
| Platform | Format Accepted | Notes |
|---|---|---|
| YouTube | SRT, VTT, SCC, TTML | Auto-converts; SRT recommended |
| Vimeo | SRT, VTT, DFXP | VTT preferred for embed |
| Netflix | TTML, IMSC | Strict spec compliance |
| Disney+ | TTML, IMSC | Strict spec |
| Apple TV+ | iTT (Apple subset of TTML) | iTunes Captioning Tool format |
| Amazon Prime | TTML, SCC | Strict broadcast spec |
| Twitch | None natively | Use display caption (live) |
| SRT only | Uploads convert to FB format | |
| None natively | Use caption sticker | |
| TikTok | None for upload | Auto-generated captions only |
| Twitter / X | SRT | Limited to short videos |
| Spotify Podcasts | RSS-based show notes | Episode-level, not segment |
For most uploads in 2026: SRT works on the majority of platforms. For premium streaming services: TTML or platform-specific formats.
YouTube Subtitle Workflow
YouTube is the most permissive platform:
- Upload video
- Studio > Captions > Subtitles
- Click "Add language" or "Add subtitles"
- Upload SRT or VTT
- YouTube auto-times and styles
YouTube also auto-generates captions from speech recognition. For accessibility and search: human-edited captions are dramatically better than auto.
For underlying format details, see SRT vs VTT vs ASS.
VTT-Specific Requirements
WebVTT has stricter formatting than SRT:
WEBVTT
00:00:00.000 --> 00:00:03.500
First line of dialogue
NOTE Optional comments can appear here
00:00:03.500 --> 00:00:06.000 line:90% align:center
Styled positioning
Key differences from SRT:
- Decimal seconds (
.500) not comma (,500) - Required
WEBVTTheader - Cue settings (line, align) supported
For HTML5 <track> element: VTT is required. SRT files won't load.
TTML / IMSC Requirements
For premium streaming (Netflix, Disney+):
<?xml version="1.0" encoding="UTF-8"?>
<tt xmlns="http://www.w3.org/ns/ttml"
xmlns:tts="http://www.w3.org/ns/ttml#styling"
xml:lang="en">
<head>
<styling>
<style xml:id="default" tts:fontSize="100%" tts:textAlign="center"/>
</styling>
</head>
<body>
<div>
<p begin="00:00:00.000" end="00:00:03.500" style="default">
First line of dialogue
</p>
</div>
</body>
</tt>
TTML is XML-based, supports complex styling, and is the broadcast/streaming industry standard.
For TTML to SRT conversion:
ffmpeg -i input.ttml output.srt
Most modern tools handle TTML to SRT cleanly.
Conversion Workflows
For SRT to VTT:
ffmpeg -i input.srt output.vtt
For VTT to SRT:
ffmpeg -i input.vtt output.srt
For complex format conversions, see SRT vs VTT vs ASS.
Per-Language Files
For multi-language delivery:
captions/
├── en.srt
├── fr.srt
├── es.srt
├── de.srt
└── ja.srt
Each language gets its own file. Most platforms accept this structure.
For YouTube: upload each language separately and label with the language code (en, es, fr, ja, etc.).
For batch processing patterns, see Batch Processing Files Guide.
Embedded vs Sidecar
| Approach | Pros | Cons |
|---|---|---|
| Sidecar SRT/VTT | Editable, easy to update | Must travel with video |
| Embedded in MKV | Self-contained, viewer can toggle | Some players don't support |
| Burned into video | Universal compatibility | Permanent, not editable |
| Platform-managed | Auto-display, search-indexed | Format locked to platform |
For most platform delivery: sidecar files. For self-hosted video: embedded in MKV.
For container context, see MKV vs MP4 Container.
Common Issues
Subtitles don't appear on YouTube: file uploaded but not assigned to language. Verify in Studio > Captions.
Position settings ignored: VTT cue settings supported by some platforms, ignored by others. Test on target platform.
Special characters mangled: encoding mismatch. Ensure UTF-8.
Timing off by 30 seconds: drift between source video and timestamp data. Re-time using ffsubsync or similar.
Apple TV+ rejects file: needs iTunes Timed Text (iTT) format, not generic TTML. Use Apple's iTunes Captioning Tool or convert via third-party.
For broader subtitle workflow, see SRT vs VTT vs ASS.
Frequently Asked Questions
Should I auto-generate or manually transcribe?
Auto-generate as first pass, manually edit for accuracy. Pure auto: 80-90% accurate, often missing technical terms. Edited: 99% accurate.
What about live captioning?
For live streams: use platform's automatic captioning. For accessibility-critical: hire human captioner via stenographer service.
Can I edit YouTube auto-captions?
Yes. Studio > Captions > Edit. Save edits for accessibility-improved captions.
Does Netflix accept SRT?
Not directly. Netflix wants TTML or IMSC formatted to their spec sheet. Use a vendor (Vitac, Deluxe) or convert with platform-specific tools.
Do captions affect SEO?
Yes. Caption text is indexed by search engines (YouTube, Vimeo). Improves discoverability for the video.
How do I caption multiple languages efficiently?
Generate English first (manual or auto), translate to other languages with translation service or human translators. Re-time if needed for line breaks.
Related Reading
Bottom Line
For subtitle platform delivery in 2026: SRT for general use, VTT for HTML5 web, TTML/IMSC for premium streaming services. Each platform has specific spec requirements; verify before mass upload. Auto-generate as first pass, human edit for accuracy. Our video converter handles subtitle extraction and embedding from various sources.



