Guides
SRT File Format Explained: Structure, Timing, and Common Errors

Almost every caption workflow in the world runs through one humble file type: the SRT. YouTube accepts it, video players read it, editors import it, and transcription tools export it. Yet for something so widely used, the format is surprisingly easy to break — a missing blank line here, a comma where a dot should be there, and suddenly your captions vanish, overlap, or appear in the wrong language's characters.
The good news is that SRT is deliberately simple. There is no proprietary encoding, no hidden metadata, and no special software required to read or fix one. Once you understand its four building blocks — sequence numbers, timestamps, text, and blank lines — you can diagnose nearly every SRT problem yourself in a plain text editor. This guide explains the structure, the timing rules that make captions readable, and the errors that show up most often, with fixes for each.
The anatomy of an SRT file
An SRT file is a plain text file, usually saved with UTF-8 encoding, made up of repeating blocks. Every block has exactly the same shape, and every block is separated from the next by one blank line. Here is a complete, valid example:
1 00:00:00,000 --> 00:00:02,400 Welcome back to the channel. 2 00:00:02,400 --> 00:00:05,100 Today we are explaining the SRT format from the ground up.
Each block contains four parts, in this order:
- The sequence number. A simple counter starting at 1, increasing by one for each block. Players mostly use it to order the captions, not to display anything, but gaps or duplicates can confuse stricter parsers.
- The timestamp line. The start time, an arrow made of two hyphens and a greater-than sign, and the end time:
00:00:02,400 --> 00:00:05,100. Times are written as hours, minutes, seconds, and milliseconds, and — crucially — the milliseconds are separated by a comma, not a full stop. - The caption text. One or two lines of text, occasionally more. Line breaks inside a block become line breaks on screen, so this is where you control how the caption looks.
- A blank line. This is the separator between blocks. It is the single most common thing people forget when editing an SRT by hand, and forgetting it merges two captions into one broken block.
That is the whole format. There are no headers, no style sections, and no colour or font settings in standard SRT — which is exactly why it works everywhere. Anything a platform needs beyond plain timed text, such as styling or positioning, lives in richer formats like VTT or ASS, not in SRT.
Timing rules that keep captions readable
Getting the structure right only makes an SRT valid. Making it readable is a separate skill, and it comes down to timing. Viewers read captions at roughly 17 to 20 characters per second, so a caption's duration should match the amount of text it carries.
- Keep each caption on screen for 1 to 7 seconds. Shorter than a second is a flash nobody can read; longer than seven seconds feels frozen, and viewers start wondering whether the video has stalled.
- Limit each caption to two lines and about 42 characters per line. A third line pushes captions into the middle of the picture on small screens, and very long lines force the eye to sweep back and forth instead of following the video.
- Start captions slightly before the speech, not after it. A caption that appears a fraction of a second early feels natural; one that appears late makes the viewer feel they are always catching up.
- Break lines at natural pauses. Split a sentence where a speaker would breathe — between clauses, not in the middle of a phrase. A line that ends mid-thought forces the viewer to hold half a sentence in memory while reading the next line.
- Never let captions overlap. The end time of one block must not pass the start time of the next. Overlapping blocks cause players to skip, stack, or drop captions unpredictably.
- Match the caption to the speaker change. When a new person starts talking, start a new block, even if the previous caption had time left. Merging two speakers into one caption is confusing, especially for viewers who rely on captions to follow a conversation.
A useful sanity check: read each caption out loud at normal speaking pace while it is on screen. If you cannot finish reading it before it disappears, your viewers cannot either. Shorten the text or lengthen the duration — never assume the viewer will pause the video to catch up.

Common SRT errors and how to fix them
Most SRT failures fall into a handful of categories. If a platform rejects your file or your captions look wrong, work through this list before rebuilding the file from scratch.
1. Missing or extra blank lines
The symptom: two captions merge into one long block, or everything after a certain point disappears. The fix is to open the file in a text editor, check that exactly one blank line separates every block, and remove any blank lines inside a block. Editors that auto-format text are a common culprit here — always edit SRT files in plain-text mode.
2. Dots instead of commas in timestamps
SRT uses a comma before milliseconds (00:00:02,400); VTT uses a dot. This is the most frequent error when converting between the two formats, and some players silently reject the whole file because of it. A simple find-and-replace of the timestamp pattern fixes it, but check every timestamp line, not just the first.
3. Broken or duplicated sequence numbers
Numbers that skip, repeat, or restart mid-file trip up stricter parsers, including some desktop players and older editors. Renumbering is easy: most subtitle editors have a renumber command, or you can do it manually for short files. Numbers do not need to mean anything — they just need to be sequential.
4. Overlapping or out-of-order timestamps
Overlaps usually come from automatic transcription, where the tool assigns timings independently to each phrase. The fix is to sort blocks by start time and trim each end time so it does not pass the next block's start time. If a whole section drifts — captions gradually falling behind the audio — the video's frame rate or a speed change is usually to blame, and re-generating the timings from the final edit is faster than hand-correcting dozens of blocks.
5. Wrong character encoding
If accented letters, non-Latin scripts, or even apostrophes show up as question marks or strange symbols, the file was probably saved in the wrong encoding. SRT files should be saved as UTF-8. In most text editors this is a save-as option; in some older Windows tools, the default is a local encoding that mangles anything beyond basic ASCII. Re-saving as UTF-8, without a byte-order mark if your platform complains, solves it.
6. Unsupported formatting tags
Some tools write bold, italic, or colour tags into SRT files. Standard SRT does not define any of these, so players handle them inconsistently — some show the raw tags as text, others ignore them. If your captions display literal angle brackets, strip the tags. Keep formatting for VTT or ASS files, where it is actually supported.
7. Captions that are technically valid but unreadable
A file can pass every validator and still be a bad viewing experience: walls of text, captions that flash past, or lines broken mid-word. This is a timing and editing problem, not a format problem. Split long blocks, respect the two-line limit, and re-read the file as a viewer would — sound off, eyes on the captions alone.
How to validate an SRT before you upload it
A two-minute check saves a re-upload later. First, open the file in a plain text editor and scan the first and last blocks — most structural errors are visible immediately. Second, upload it to the target platform as a private or unlisted test if possible, and watch the first thirty seconds with captions on: timing, line breaks, and encoding all show up in that window. Third, if you have a subtitle editor, run its built-in error check, which typically flags overlaps, overlong lines, and reading-speed violations in one pass.
When you generate captions with Captionbench's free browser tool, the exported SRT already follows this structure — numbered blocks, comma timestamps, UTF-8 text — so you can skip straight to the readability pass: fixing names, splitting long lines, and checking that speaker changes get their own blocks.
Key takeaways
- An SRT block is always: sequence number, timestamp line, one or two lines of text, then a blank line.
- Timestamps use a comma before milliseconds, and captions should stay on screen for 1–7 seconds at two lines maximum.
- The most common errors are missing blank lines, dot timestamps, overlapping times, and wrong character encoding.
- A valid file can still be unreadable — always do a muted viewing pass before publishing.
Ready to put the format to work? Generate free timed captions with Captionbench right in your browser — no account, no uploads, SRT/VTT/TXT export included.