SRT File Format: What SubRip Is and How It's Structured

SubRip subtitle, or SRT, is a plain-text subtitle format made up of numbered blocks: a sequence number, a timestamp line in HH:MM:SS,mmm --> HH:MM:SS,mmm format using a comma before the milliseconds, the subtitle text itself, and a blank line separating it from the next block. It has no header, no styling, and no built-in encoding declaration, which is exactly where it tends to break.
SRT gets its name from SubRip, the DVD subtitle-ripping software that popularized the format in the late 1990s. Despite its age, it remains the most widely supported subtitle format across video editors, media players, and streaming platforms — largely because it does nothing more than the minimum: a timestamp and a line of text.
What Is a SubRip Subtitle File?
A SubRip (.srt) file is a sequence of numbered subtitle blocks. Each block has exactly four parts, in this order:
1
00:00:01,000 --> 00:00:04,500
Sarah: Let's start with the roadmap review.
2
00:00:04,600 --> 00:00:08,200
Marcus: Sounds good. I'll pull up the slides.
- Sequence number — a plain integer, starting at 1 and incrementing for every block in the file.
- Timestamp line — start time, an arrow (
-->), then end time, each inHH:MM:SS,mmmformat with a comma before the milliseconds. - Subtitle text — one or more lines of the actual caption text.
- Blank line — separates this block from the next one. Without it, parsers can't reliably tell where one cue ends and the next begins.
SRT vs VTT: What's the Difference
The two formats look almost identical at a glance, but three details separate them:
| SRT | VTT (WebVTT) | |
|---|---|---|
| File header | None | Starts with a WEBVTT line |
| Millisecond separator | Comma (00:00:01,000) | Period (00:00:01.000) |
| Styling and positioning | Not supported | Supports cue settings, voice tags (<v Speaker>), and CSS-like styling |
| Native web video support | No | Yes — the HTML5 <track> element expects VTT |
| Typical use | Offline players and video editors (VLC, Premiere, DaVinci Resolve) | Web video, YouTube, HTML5 <video> |
If you need to caption an HTML5 video element or upload to most web platforms, VTT is usually the expected format. If you're working in a desktop video editor or an offline player, SRT is almost always accepted and often the default.
SRT vs ASS: What's the Difference
Advanced SubStation Alpha (.ass, and its predecessor .ssa) is a different tier of subtitle format entirely — it was built for fansubbing communities that wanted fonts, colors, screen positioning, and karaoke-style timing effects. SRT has no equivalent for any of that. Converting an ASS file to SRT keeps the timed text and discards every styling instruction, since SRT has nowhere to put it.
Where SRT Encoding Breaks
SRT's biggest practical weakness is that the format itself has no field for declaring text encoding. A player or editor has to guess whether the file is UTF-8, UTF-16, or a legacy encoding like Windows-1252, and guesses go wrong in predictable ways:
- Non-Latin scripts (Cyrillic, Japanese, Arabic) saved without a UTF-8 byte-order mark sometimes render as garbled characters (mojibake) when opened in a player that assumes a different default encoding.
- A UTF-8 byte-order mark (BOM) at the start of the file, added automatically by some text editors, is invisible in most editors but can make strict parsers choke on the first subtitle number, since the BOM bytes get read as part of the sequence number.
- Curly quotes and em dashes copied from a word processor often use characters outside the basic Latin set, which is fine in UTF-8 but breaks if the file gets re-saved in a legacy Windows encoding somewhere in the pipeline.
The safe default is UTF-8 without a BOM, though some older players specifically expect a BOM to detect UTF-8 correctly — there is no universal answer, which is why encoding issues are the most common cause of "subtitles show as boxes or question marks" complaints.
Converting to and From SRT
If you're moving between formats, our free browser-based converters handle the common pairs without uploading your file anywhere: SRT to VTT, VTT to SRT, SRT to plain text, and the full subtitle format converter for everything else, including SBV and ASS.
FAQ
What does SRT stand for?
SRT stands for SubRip Text, named after the SubRip software used to extract (rip) subtitles from DVDs in the late 1990s. The format it produced became the de facto standard because of how simple and widely supported it is.
Is SRT the same as SubRip subtitle?
Yes. "SubRip subtitle" and "SRT file" refer to the same plain-text subtitle format — SRT is the file extension, SubRip is the full name of the format and the software that originated it.
Why does my SRT file show garbled text or boxes instead of characters?
This is almost always an encoding mismatch. The SRT format has no field for declaring its own text encoding, so the player or editor has to guess. Save or re-export the file as UTF-8 and, if the problem persists, try toggling whether a byte-order mark (BOM) is included, since different players expect different defaults.
Can an SRT file have styling like bold or colored text?
Minimally. Some players support a small set of inline HTML-like tags (<b>, <i>, <u>) inside the subtitle text, but there is no official styling standard for SRT and support varies by player. For real styling, positioning, or karaoke effects, use ASS/SSA instead.
What's the difference between SRT and VTT?
SRT has no header and uses a comma before milliseconds in its timestamps. VTT starts with a WEBVTT line, uses a period before milliseconds, and supports additional features like voice tags and cue positioning that SRT doesn't have. VTT is the format expected by HTML5 web video; SRT is more common in offline editors and players.
Do I need a blank line between SRT subtitle blocks?
Yes. The blank line is what tells a parser where one subtitle block ends and the next one begins. Removing it, or leaving stray whitespace instead of a true blank line, is a common cause of SRT files failing to load correctly.
Ready to try AI meeting summaries?
Try MeetWave free — no credit card required.
Still comparing tools?
See how MeetWave stacks up against the tools most teams evaluate alongside it.
- MeetWave vs Otter AISee how MeetWave compares to Otter AI for meeting intelligence
- MeetWave vs Fireflies.aiSee how MeetWave compares to Fireflies.ai for meeting intelligence
- MeetWave vs tl;dvSee how MeetWave compares to tl;dv for meeting intelligence