CAPTIONQC

SRT VALIDATOR
local · no upload leaves browser

Common SRT caption errors and how to fix them

Published by Caption QC · Fabled Tales Productions · Reading time: 7 minutes

SRT is one of the simplest caption file formats in existence, but even simple formats have plenty of ways to go wrong. Whether your captions were created manually, exported from an editing package, or generated by an AI transcription service, there are a set of common errors that appear repeatedly and cause files to fail QC checks at delivery.

This guide covers the most frequent SRT errors — what they are, what causes them, and how to fix them before your file reaches a distributor, broadcaster, or streaming platform.

Understanding the SRT format

Before diagnosing errors, it helps to understand what a correctly formatted SRT block looks like. Each caption in an SRT file consists of three parts: a sequential index number, a timecode line showing when the caption appears and disappears, and one or more lines of caption text. Each block is separated from the next by a blank line.

1 00:00:02,500 --> 00:00:05,000 This is the first caption. 2 00:00:05,500 --> 00:00:08,200 This is the second caption, split across two lines. 3 00:00:09,000 --> 00:00:11,500 And this is the third.

Any deviation from this structure — a missing index, a malformed timecode, blocks that are not separated by blank lines — constitutes a structural error. Beyond structure, captions can also violate readability rules such as line length or reading speed.

Error 1 — Overlapping timecodes

Error · Critical
A caption block starts before the previous caption has ended — the timecodes overlap in time.

Overlapping timecodes occur when caption block 2 starts before caption block 1 has finished. This is one of the most serious SRT errors and will cause a QC failure on virtually every platform. It can also produce unpredictable rendering behaviour in players, with one or both captions potentially failing to display correctly.

1 00:00:02,500 --> 00:00:06,000 This caption ends at 6 seconds. 2 00:00:05,000 --> 00:00:08,000 But this one starts at 5 seconds — overlap!
Fix Adjust the start time of caption 2 to begin at or after the end time of caption 1. If both captions contain essential dialogue that genuinely overlaps in the audio, they should be merged into a single block or the text should be edited to fit a non-overlapping window.

Error 2 — Malformed timecode line

Error · Critical
The timecode line cannot be parsed — it is missing the "-->" separator, uses incorrect formatting, or contains typos.

The SRT timecode line must follow an exact format: hours, minutes, seconds, and milliseconds separated by colons and a comma, with " --> " (space, dash, dash, greater-than, space) between the start and end times. Any deviation from this format will cause the entire caption block to fail to parse.

Correct: 00:01:23,456 --> 00:01:26,789 Wrong: 00:01:23.456 --> 00:01:26.789 (period instead of comma) Wrong: 00:01:23,456 -> 00:01:26,789 (single arrow) Wrong: 1:23,456 --> 1:26,789 (missing leading zeros)
Fix Correct the timecode format to match the SRT specification exactly. Note that some tools export using a period instead of a comma before milliseconds — this is technically incorrect SRT but is accepted by many players. Caption QC handles both, but delivery platforms may not.

Error 3 — Empty caption blocks

Error · Critical
A caption block has a valid index and timecode but contains no text.

Empty caption blocks occur when a caption event exists in the file with valid timing but no text content. This commonly happens when automated tools create placeholder blocks, when dialogue is deleted without removing the timecode, or when export processes malfunction. Empty blocks will cause QC failures and may cause display errors in some players.

Fix Delete the empty block entirely and renumber subsequent captions to maintain sequential indexing. If the block represents a deliberate pause in captioning, it should simply be removed — silence does not need to be explicitly captioned with an empty block.

Error 4 — Index numbers out of sequence

Warning
Caption index numbers do not increment sequentially — they repeat, skip values, or decrease.

SRT files should have caption blocks numbered sequentially starting from 1. While many players are tolerant of non-sequential numbering and will display captions in timecode order regardless, some QC systems flag this as an error and some players may behave unexpectedly. Non-sequential numbering often indicates that captions were manually edited, merged from multiple files, or processed by a tool that does not properly renumber after deletions.

Fix Renumber all caption blocks sequentially from 1. Most subtitle editing tools such as Subtitle Edit have a "renumber" function that does this automatically. Alternatively, a simple script can be used to renumber an SRT file in batch.

Error 5 — Lines exceeding the character limit

Warning / Error depending on platform
One or more lines in a caption block exceed the maximum characters per line for the target platform.

Netflix allows 42 characters per line. Filmhub allows 43. The BBC recommends 37. Exceeding these limits does not always prevent a caption from displaying, but it will cause automatic QC rejection on platforms that enforce the limit, and may result in text being cut off or wrapped unexpectedly on smaller screens.

Too long (45 chars): "I never thought I would see you here again." Better (two lines, each under 42 chars): "I never thought I would see you here again."
Fix Break long lines at natural speech pauses — typically at clause boundaries, conjunctions, or before prepositions. Avoid breaking lines in the middle of a phrase in a way that feels grammatically awkward when read. The goal is to create two roughly equal lines that each sit comfortably under the character limit.

Error 6 — Reading speed too high (CPS violation)

Warning / Error depending on platform
The caption contains more characters than a viewer can comfortably read in the time it is displayed on screen.

CPS (characters per second) violations are among the most common QC failures for captions exported from automated transcription services, which generate timecodes based on speech timing rather than reading comfort. A speaker talking at 250 words per minute will produce captions that far exceed any platform's CPS limit if no editorial intervention is applied.

Fix Options include: shortening the caption text, extending the display duration, splitting into two caption events, or moving the start time earlier. See our full guide on characters per second in captions for detailed advice on each approach.

Error 7 — Insufficient gap between caption events

Warning
Two consecutive caption blocks are too close together — the gap between the end of one and the start of the next is less than the platform minimum.

Netflix requires at least 2 frames (approximately 0.083 seconds) between caption events. Filmhub requires a minimum of 66 milliseconds. When captions are placed back-to-back with no gap — or with a gap smaller than the platform minimum — viewers perceive the captions as continuous text that never disappears, making it hard to distinguish new caption events. Some platforms also flag this as a technical error during automated QC.

Fix Adjust the end time of the first caption or the start time of the second caption to create the required gap. A gap of 0.1 to 0.2 seconds is generally safe for all platforms and is barely perceptible to viewers.

Error 8 — Zero or negative duration

Error · Critical
The end time of a caption is equal to or earlier than its start time, resulting in zero or negative on-screen duration.

A caption with a zero or negative duration cannot be displayed — it exists in the file but would be on screen for no time at all. This is always a data error, typically caused by a timecode entry mistake or a processing error in a subtitle export tool.

Fix Correct the timecodes so that the end time is clearly after the start time. Check the surrounding captions to ensure the corrected timecodes do not create new overlaps.

How to find and fix all errors efficiently

Manually checking an SRT file for all of these errors is time-consuming and error-prone, particularly for long feature films or series episodes that may contain hundreds or thousands of caption events. The most efficient approach is to run the file through a dedicated SRT checker before delivery.

Caption QC checks for all of the errors described in this guide automatically — structural errors (overlapping timecodes, malformed blocks, empty captions, sequential index issues, zero duration events) as well as configurable readability rules (characters per line, CPS, duration limits, and gaps). Results are presented in a table showing the caption number, timecode, and a plain-language description of each issue.

Find every error in your SRT file before delivery — free, in your browser, in seconds.

Run Caption QC →