two families
caption formats (SRT, VTT, SBV, TTML, SCC) split the text into short cues, each with a start and end time, so a video player can show the right line at the right moment.
document formats (TXT, DOCX, PDF) are for reading. they're organized by speaker and paragraph, with timestamps every so often if at all.
data formats (JSON, CSV) sit in between. they carry every word with its timing, speaker, and often a confidence score, for software to use.
at a glance
| format | for | timing | used by |
|---|---|---|---|
| SRT | captions | per cue | almost every video player and editor |
| VTT | captions on the web | per cue | HTML5 video, YouTube, Vimeo, Zoom transcripts |
| SBV | captions | per cue | YouTube |
| TTML / DFXP | captions, styled | per cue | streaming platforms, broadcast workflows |
| SCC | broadcast captions | SMPTE timecode | US television, closed captioning |
| TXT | reading, pasting | optional | everything |
| DOCX | reading, editing | optional | editors, track changes, qualitative coding tools |
| filing, citing | page and line | legal transcripts, handouts | |
| JSON | software | per word | speech APIs, custom tools |
| CSV | spreadsheets, analysis | per row | NVivo, ATLAS.ti, MAXQDA, data work |
SRT
SubRip text. the most widely supported caption format there is: a number, a time range, the text, and a blank line. no header, no styling. note the comma before the milliseconds.
1
00:00:01,000 --> 00:00:03,400
we started recording at nine.
2
00:00:03,400 --> 00:00:06,100
by ten the room was full.VTT (WebVTT)
the W3C's caption format for web video. it looks like SRT with three differences: the file starts with WEBVTT, the milliseconds use a period, and cue numbers are optional. it also supports positioning and basic styling, and voice tags for speakers.
WEBVTT
00:00:01.000 --> 00:00:03.400
<v Maria>we started recording at nine.
00:00:03.400 --> 00:00:06.100
<v Maria>by ten the room was full.Zoom saves cloud-recording transcripts as a VTT file next to the recording. if you have a Zoom .vtt, you already have a timed transcript. see transcribing Zoom recordings for what to do with it.
SBV
YouTube's simple caption format. no cue numbers, and the start and end times share a line, separated by a comma.
0:00:01.000,0:00:03.400
we started recording at nine.
0:00:03.400,0:00:06.100
by ten the room was full.YouTube accepts SRT and VTT just as happily, so there's rarely a reason to produce SBV yourself.
TTML and DFXP
an XML caption format from the W3C. DFXP is the earlier name of the same thing. it's verbose, but it carries styling, positioning, and language metadata reliably, which is why streaming platforms and broadcast delivery specs ask for it.
SCC
Scenarist closed captions: the US broadcast standard. instead of readable text it stores CEA-608 caption data as hexadecimal, timed with SMPTE timecode. you don't write SCC by hand; you export it when a broadcaster's spec demands it.
TXT
plain text. speaker names, paragraphs, sometimes a timestamp at the start of each turn. it opens everywhere, pastes into any CMS, and survives forever. it's the right default when a person, not a player, is the reader.
[00:00:01] Maria: We started recording at nine. By ten
the room was full.
[00:00:07] Interviewer: Who came first?DOCX
a Word document. the format editors and clients expect, because they can comment and track changes. qualitative coding tools also import DOCX transcripts, using the speaker labels and timestamps to structure the document.
fixed layout. the point is that page 12, line 4 means the same thing to everyone who opens the file. that's why legal transcripts are filed as PDFs with numbered lines. see the deposition format and how to cite one.
JSON
the raw output of most speech-recognition systems: every word with a start time, end time, speaker, and confidence score. no person reads it. it's what lets an editor link each word to its second of audio, and what you want if you're building something.
{
"words": [
{ "text": "we", "start": 1.00, "end": 1.12, "speaker": "Maria" },
{ "text": "started", "start": 1.12, "end": 1.55, "speaker": "Maria" }
]
}CSV
one row per segment: start, end, speaker, text. opens in any spreadsheet, and it's the shape qualitative analysis tools import. see the NVivo, ATLAS.ti, and MAXQDA pages for each tool's specifics.
which one do you need?
- captions on a video: SRT. VTT if it's going into a web player. see captions.
- a broadcaster's delivery spec: whatever it says, usually SCC or TTML.
- reading, quoting, or editing: DOCX for collaborating, TXT for everything else.
- filing with a court: a page-and-line PDF.
- coding interviews: DOCX or CSV, depending on the tool.
- building software on top: JSON.
converting between caption formats is lossless as long as you aren't using styling. converting a caption file into a readable document is not: caption cues break mid-sentence and drop speaker names. start from the richest format you have, usually the word-level JSON, and export down.