Last updated June 6, 2026 (UTC)
SRT vs VTT, and where each one quietly breaks
SRT and VTT look similar enough that many editors treat them as interchangeable. They are not. Need a free SRT to VTT converter? Use CaptionPass below — or read on for where each format wins and where differences cause silent failures during delivery.
The format-level differences
- Timestamp punctuation. SRT uses a comma:
00:01:23,456. VTT uses a dot:00:01:23.456. Mix them and the cue is treated as invalid. - Mandatory header. A WebVTT file must begin with
WEBVTTon the first line. SRT has no header. - Styling. VTT supports cue tags, regions, and STYLE blocks. SRT supports a narrow subset of HTML-ish tags that most players ignore.
- Identifiers. SRT cues are numbered sequentially. VTT cue identifiers are optional and freeform.
Run your file through CaptionPass — free caption converter with a full QA report.
Convert & fix free →Where this bites in delivery
YouTube accepts both formats but is unforgiving on timestamps. A single comma in a VTT file usually causes the cue to silently drop. HTML5 video players reject any VTT file missing the WEBVTT header without surfacing a useful error. TikTok's caption upload is the strictest of the three; it will reject any file with styling tags or overlapping cues.
Quick rules
- HTML5 player on the open web — ship VTT.
- YouTube — either format, but SRT is fewer foot-guns.
- TikTok or social — SRT, plain text, no styling tags.
- Anything else — CaptionPass's “Generic safe” preset.
FAQ
- Can I rename .srt to .vtt?
- No — players expect a WEBVTT header and dot decimals. Renaming without converting drops cues.
- Which format for HTML5 video?
- WebVTT with a valid header. SRT may work in some players but is not the open-web default.
- YouTube vs TikTok?
- YouTube accepts both with fewer styling surprises; TikTok prefers plain SRT — see YouTube upload issues and TikTok subtitle format.
Convert your captions free
Upload on CaptionPass, pick a delivery preset, and download upload-ready output with optional enhanced formatting — free tier, no account required.
Convert & fix free →More guides
- Free online caption converter — SRT, VTT, and delivery QAHow CaptionPass works as a free caption converter with upload-ready and enhanced exports, platform presets, and explainable fixes. Try the same presets on the homepage tool or Quick fix before you open a Pro project.
- SRT to VTT converter guide — headers, timestamps, and pitfallsWhen to convert SRT to WebVTT, what breaks if you rename extensions, and how to validate before HTML5 or YouTube delivery. CaptionPass converts and validates both formats in the dashboard workbench and v1 API.
- Caption file encoding — UTF-8, BOM, and garbled textWhy uploads show mojibake or blank cues: UTF-8 vs legacy encodings and quick fixes. CaptionPass ingest reports flag encoding issues in the workbench Checks tab and v1 processing errors.
- Burned-in vs soft subtitles — what to deliver whenOpen captions burned into the picture vs separate SRT/VTT tracks — tradeoffs for editors and clients. Pro users can mux or burn-in via v1 render jobs after sidecar QA in the workbench.
- Reading speed for captions — CPS, line length, and platformsCharacters per second, lines per cue, and where YouTube, TikTok, and HTML5 push back. Platform presets in the dashboard and v1 API apply the same CPS and line-length rules automatically.
- YouTube caption upload issues — silent rejection and timingWhen Studio accepts a file but captions vanish: format, line length, drift, and how to validate before publish. Export with the YouTube preset from Deliver or v1 before you upload to Studio.
- YouTube rejected my SRT — invalid file and Studio errorsWhen YouTube Studio blocks an SRT upload: encoding, index gaps, bad timestamps, and how to validate before you retry. Quick fix and the homepage tool surface the same diagnostics as a failed v1 run.
- Caption timing drift after export from Premiere or DaVinciWhy captions slip after NLE export: frame rates, timecode starts, and how to normalize before YouTube or client delivery. Pro drift diff in the workbench compares revisions after you re-import from an NLE.
- CaptionPass vs generic subtitle convertersFormat swap tools vs delivery QA: explainable fixes, platform presets, and when each approach fits your workflow. CaptionPass adds Checks, receipts, and handoff packs on top of one-shot homepage conversions.
- CaptionPass vs Subtitle EditDesktop authoring vs delivery QA: when to use Subtitle Edit for editing and CaptionPass for platform-safe validation and API automation. Ship Subtitle Edit exports through the dashboard workbench or v1 API for final QA.
- Caption QA API for CI/CD pipelinesAutomate SRT and VTT validation in GitHub Actions or your build pipeline with POST /api/v1/process and Bearer API keys. Keys and usage meters live under dashboard Automate alongside export webhooks.
- TikTok subtitle format — short lines, CPS, and clean SRTVertical video reading speed, styling stripped on upload, and export settings that survive TikTok delivery. Use the social-shorts handoff profile or TikTok preset from Deliver before upload.
- Why your captions are not showing — a triage guideHTML5, YouTube, and TikTok checks when subtitles vanish after upload. Cross-check workbench preflight and History receipts to confirm what CaptionPass actually exported.
- Fix overlapping subtitlesWhat overlap means and why some players drop overlapping cues. CaptionPass flags overlapping_cues in Checks and can auto-fix via Fix again or v1 process.
- TTML and DFXP — broadcast-style timed text on the webNamespaces, timing, styling stripped in practice, and when TTML is the right interchange vs SRT or WebVTT. Convert inbound TTML through v1 or the homepage tool when clients deliver broadcast sidecars.
- CaptionPass JSON IR and the developer-json presetLossless-ish cue interchange for tooling: when to use JSON IR, version tag, and how it pairs with the HTTP API. Request the developer-json preset from POST /api/v1/process or export it from the workbench.
- Timecode, frame rate, and caption syncWhy captions drift or jump: drop-frame vs non-drop, fractional frame rates, and export settings that survive upload. Pro drift panel and v1 diff help confirm sync after re-export from an NLE.
- WCAG-minded captions — reading speed, sound tags, and burned-in contrastHow WCAG 1.2.x thinking maps to real files: CPS, line length, SDH-style cues, and contrast for open captions. Platform presets in the dashboard enforce readable CPS before you hand off to clients.
- Educators & classrooms — CaptionPass for instructionPartner program for instructors: API keys, workspace pilots, Learn guides, and classroom-appropriate access. Students can start with the free homepage tool before moving to dashboard projects.
Fix in CaptionPass
Free caption converter · Homepage tool · HTTP API (v1) · Pro workspace