```html
Two text files, one job: timed captions under your video. SRT is the universal workhorse. WebVTT is the modern, styling-aware standard for HTML5 video. Here is how they actually differ in 2026 — and when to pick which.
SRT (SubRip) is the plainest possible subtitle format: an index number, a timestamp range in HH:MM:SS,mmm form, then one or more lines of text. Blank line separates cues. That is the entire spec — there is no formal standard, just a de-facto convention born from the SubRip ripper in the early 2000s. Every NLE, every social platform, every TV stick accepts it.
WebVTT (Web Video Text Tracks) is the W3C standard (2017, updated through 2024) that replaced SRT as the native subtitle format for HTML5 <video>. It looks similar — index, timestamp range in HH:MM:SS.mmm (note the dot, not comma), text — but adds a header line (WEBVTT), cue identifiers, styling blocks (STYLE), positioning (line:50%, position:90%), and cue settings like align:start, vertical:rl, and size:75%.
| Aspect | SRT | WebVTT |
|---|---|---|
| Status | De-facto, no formal standard | W3C standard (HTML5 native) |
| Header line | None | Required WEBVTT line |
| Timestamp separator | Comma: 00:01:23,456 | Dot: 00:01:23.456 |
| Cue identifier | Number only | Number or named string |
| Styling | None in-file (use player defaults) | Inline tags (<b>, <i>, <c.classname>) + ::cue CSS |
| Positioning | Not in spec; player-dependent | Native: line, position, align, vertical, size |
| HTML5 <track> | Works, but must be re-muxed or coerced | Native format (mime text/vtt) |
| YouTube / social upload | Accepted (preferred) | Often rejected; converted internally |
| Facebook / Instagram Reels | Accepted | Not supported |
| Burned-in workflows (Premiere, DaVinci) | Native import | Import plugin or convert first |
| File size | Smallest | ~10–20% larger with styling |
| Chapters / metadata | Not supported | Native NOTE and chapter cues |
1 00:00:01,000 --> 00:00:04,500 Welcome to the comparison. 2 00:00:05,200 --> 00:00:09,000 Here is cue number two.
WEBVTT cue-1 00:00:01.000 --> 00:00:04.500 line:85% align:start Welcome to the comparison. cue-2 00:00:05.200 --> 00:00:09.000 position:50% align:center Here is cue number two, centered and lowered.
Most transcription and conversion tools output SRT by default because of its universal reach. Pricing below reflects current public tiers reviewed September 2026.
Official pricing page Pay-as-you-go $10/hour; Core $25/mo ($22.9/mo annual); Advanced $50/mo ($45.8/mo annual); Pro $80/mo ($73.3/mo annual); Enterprise custom. Free tier: 30-minute trial, no card.
Exports SRT, VTT, and a dozen others from the same transcription job. The official pricing page lists API access in the feature matrix but only marks it explicitly at the Enterprise tier — lower-tier API availability is [TODO:verify]. Storage scales per tier from 5 GB to 1 TB.
Aggregated sources (Capterra, eesel, itqlick, Geekflare) Third-party sources report an entry tier between €6/mo and $17/mo depending on currency and billing cycle; Pro ~$23.99/mo; Business ~$39/mo. PAYG auto-transcription ~$0.20/min, human ~$2.25/min. [TODO:verify]
Aggregators place the entry subscription squarely in the $5–9/mo band — Capterra reports €6/mo, itqlick reports $8.50/mo on annual billing, eesel reports $9/mo — which contradicts the older assumption that this price band is empty. Free trial exports carry a watermark per eesel's write-up. Official pricing pages were unreachable on direct fetch; treat numbers as aggregator-reported.
Official site search snippet + third-party Free: $0, 3 files/day × 30 min each (90 min/day). Unlimited: $10/mo annual or $20/mo monthly. [TODO:verify]
Output formats include SRT and VTT. The model is the simplest of the four: a daily free quota plus a flat subscription, with no per-file surcharge. A pricing structure of $4.99 per file plus $1 per 30-minute increment appears in the same search results but belongs to a different product (Videotobe); do not attribute it to TurboScribe.
Third-party review (TechRadar 2026-07) Free: $0, ~120 credits, 2 GB storage, watermark on all output, 10-min single-export cap. Lite ~$12/mo annual (≈$144/yr); Pro and Studio tiers higher. [TODO:verify]
VEED is a video editor first and a subtitle tool second. Its free tier is a true watermark wall — every export carries the VEED mark until you upgrade. The 10-minute single-export cap is a separate, often-missed limit on top of the monthly AI-credits allowance. Official /pricing and /tools endpoints timed out during the September 2026 review.
The four tools above all bundle subtitles into a larger transcription or editing suite. That is the right choice when you also need the host product. It is the wrong choice when subtitles are the only deliverable, especially at scale.
All four let you convert one file without paying. Sonix and TurboScribe give you time-based free quotas; VEED lets you upload but watermarks everything; HappyScribe gives 10 minutes of trial transcription. If you need a single SRT or VTT file from a single source — one video, one language, one upload — any of them works.
This is where the host-product tools start to hurt. Transcription suites are priced in hours of audio, not in file count. A 50-video queue of short clips costs the same per minute as a 50-hour podcast. Dedicated SRT/VTT converters priced in pure windows are [TODO:verify against current SRTKit tier] but typically sit well below transcription-suite pricing for the same workload.
Real-world SRT files drift: cues overlap, timestamps have commas in VTT, encoding is Windows-1252, blank lines disappear, index numbers restart mid-file. A general-purpose transcription tool will transcribe again rather than repair the file you already have. A format-focused tool fixes the file in place without re-running speech recognition.
Free transcription tiers almost universally watermark the output or cap the export length. If the deliverable is the subtitle file itself — for a client, a platform upload, or a localization vendor — a watermark on the SRT defeats the purpose. Tools that exist purely to produce clean SRT/VTT, with no host-product branding to promote, are the only path to watermark-free free-tier output.
Subtitle work often lives in pipelines: video processed → audio extracted → transcribed → repaired → translated → muxed. Transcription tools expose APIs but the unit of billing is still minutes. A format converter priced per file or per job slots more cleanly into a CI pipeline where you may have thousands of small files and zero minutes of decision-making about which to skip.
Yes, most players and QwikLabs handle SRT by treating it as a near-VTT file and coercing the timestamp separator. HTML5 <track> technically requires text/vtt, so SRT files served to <track> must either be renamed or re-muxed. In practice, all browsers, VLC, mpv, and mobile players accept SRT directly when loaded as a sidecar file.
YouTube accepts SRT, SBV, SUB, MPSUB, LRC, and CAP, but not WebVTT. Upload SRT. YouTube's own timed-text editor exports VTT for download, but uploads prefer SRT or SBV.
WebVTT. It is the W3C standard, supports positioning and styling natively, and the <track> element expects it. Use SRT only if you need to share the same file with a non-HTML5 destination.
Yes: in-file styling (::cue, classes), precise positioning (line, position, align, vertical, size), named cue identifiers, chapter cues, and the NOTE block for metadata. SRT has none of these.
Almost. The only mechanical difference is the separator: SRT uses , between seconds and milliseconds, WebVTT uses .. A global find-and-replace of , to . (and the addition of a WEBVTT header) converts SRT to VTT in most cases. Going VTT to SRT is the same path in reverse, but you lose styling and positioning.
Not soon. SRT is the lingua franca of social platforms, broadcast workflows, and consumer devices. WebVTT is the native format for HTML5 and the right choice when you control the player. Most teams maintain both: produce in VTT for the web, transcode to SRT for everything else.