Export captions anywhere and you will meet two file formats: SRT and VTT. They look almost identical, they do the same job, and every guide on the internet treats the choice as if it matters enormously. Here is the practical version: what differs, what each platform expects, and what I do by default.
What SRT looks like
SubRip Text is the oldest subtitle format still in wide use: plain text, numbered blocks, timestamps with a comma before the milliseconds:
1
00:00:01,000 --> 00:00:03,500
Welcome back to the channel.
2
00:00:03,600 --> 00:00:06,000
Today we're comparing subtitle formats.
That is the entire spec. No styling, no metadata, no positioning. Its age is its superpower: every player, editor and platform built in the last twenty years can read it.
What VTT looks like
WebVTT is SRT's younger, more capable sibling, built for the HTML5 <track> element. Same idea, different punctuation: a dot before the milliseconds, an optional header, optional cue identifiers:
WEBVTT
00:00:01.000 --> 00:00:03.500
Welcome back to the channel.
00:00:03.600 --> 00:00:06.000
Today we're comparing subtitle formats.
VTT can also carry inline styling (color, position, alignment), CSS references and voice tags. In practice most platforms ignore or override that styling: they render captions in their own player style.
The differences that actually matter
1. Timestamp punctuation
SRT uses a comma (00:00:01,000); VTT uses a dot (00:00:01.000). This is the number-one reason an "exported" file refuses to import: rename an SRT to .vtt and some parsers choke on the commas. Export in the format the platform asks for rather than renaming.
2. Header and metadata
VTT starts with a WEBVTT header and allows cue identifiers; SRT starts straight with block number 1. Tools that reject VTT usually object to that header line.
3. Styling and positioning
VTT can describe how text looks and where it sits; SRT cannot. But remember: on YouTube, Vimeo and most social platforms, your styling gets replaced by the player's own caption rendering. Styling in a subtitle file only matters in players that respect it: custom web players, some video libraries, a few desktop players.
4. Text formatting
VTT supports limited HTML-like tags (<b>, <i>, <u>) inside cues. SRT has no official formatting, though some tools sneak HTML in and some players render it. Do not rely on it.
Which platforms want which format
- YouTube: accepts both SRT and VTT (and others). Upload either; nothing practical differs.
- Vimeo: accepts VTT (and SRT for some upload paths). VTT is the safe choice.
- LinkedIn: SRT for video posts.
- Facebook: SRT for page videos.
- TikTok / Reels / Shorts: neither, in practice. Captions need to be burned into the video, because these players do not attach subtitle files to ordinary uploads.
- HTML5 on your own site: VTT is the native format for the
<track>element. Browsers do not accept SRT directly. - Broadcast / OTT workflows: neither; those pipelines use professional formats (TTML/IMSC, EBU-TT). Out of scope for most creators.
So which should you use?
Default rules that will not steer you wrong:
- Burning captions into the video? Neither file matters: export the MP4. This is the right answer for short-form social video.
- Uploading to YouTube? Either. SRT if you keep one file for everything.
- Uploading to the web (your own site, Vimeo, e-learning platforms)? VTT.
- Uploading to LinkedIn or Facebook? SRT.
If you caption with OneDrop, you do not have to choose upfront: every project exports MP4, SRT, VTT and TXT from the same transcript, so you can grab whichever the platform wants. The text is identical; only the packaging differs.
Converting between SRT and VTT
Because the content is the same, conversion is mostly punctuation:
- SRT → VTT: add the
WEBVTTheader, replace the timestamp commas with dots, optionally drop the block numbers. - VTT → SRT: remove the header, add sequential numbers, replace dots with commas, strip styling tags.
A one-minute script handles a folder of files, and many editors, including free ones, convert on export. But the better habit is to skip conversion entirely: keep the source transcript and export fresh in the format you need. Round-tripping files through converters is how encoding errors and broken timestamps creep in.
The TXT export is underrated
One more format worth a mention: plain text. A TXT export strips timing and gives you the spoken content as text. Three uses that come up constantly:
- Blog posts and newsletters: the transcript is a first draft of your article
- Video descriptions: paste key lines or the full transcript for accessibility and search
- Repurposing: pull quotes and hooks from what you actually said
The one takeaway
SRT and VTT are the same content in two envelopes. Pick based on the platform's upload page, not on fear of the wrong choice. And when captions need to be part of the video itself, skip both and export the MP4. The FAQ covers which platforms accept which file, and if you are captioning for short-form platforms, the guide to TikTok, Reels and Shorts captions is the practical next read.