SRT Validator
Check an SRT file for format errors — numbering, timestamps, overlaps and encoding — and auto-fix them, then download a clean .srt.
Client review & approval for video, audio, images & PDF — one link, no per-seat fees.
Try FreeYour SRT
What this checks
Sequential numbering, the HH:MM:SS,mmm --> HH:MM:SS,mmm timestamp format,
start-before-end, chronological order, overlaps, empty cues, blank-line separation and encoding (BOM, line endings).
Validation Report
Paste or load an .srt file to check it.
About SRT Validator
The anatomy of an SRT file
SubRip (.srt) is the most widely used subtitle format, and its structure is strict and repetitive. Each subtitle is one cue, and every cue has the same four parts in the same order:
- An index number — a counter that starts at
1and increases by one for every cue. - A timing line — when the cue appears and disappears, written
HH:MM:SS,mmm --> HH:MM:SS,mmm(hours, minutes, seconds, then a comma and three-digit milliseconds, an arrow, and the end time in the same form). - The subtitle text — one or more lines shown on screen.
- A blank line — separates this cue from the next.
A single valid cue looks like this:
1
00:00:01,000 --> 00:00:03,500
This is the first subtitle.
What makes an SRT invalid
Because the format is so rigid, small mistakes break it. These are the problems this validator looks for, and how serious each one is:
| Problem | Why it matters | Severity |
|---|---|---|
Milliseconds after a dot (00:00:01.000) |
SRT requires a comma; strict players reject the cue | Error |
| Start time not before the end time | The cue has no positive duration | Error |
Missing or malformed --> timing line |
The cue can't be placed on the timeline | Error |
| Numbering that skips, repeats or is out of order | Strict parsers key on the sequence | Warning |
| Cues that overlap or run out of order | Two captions fight for the screen | Warning |
| A leftover UTF-8 BOM or Windows line endings | Can corrupt the first cue or confuse a parser | Info |
Invalid vs just messy
Not every problem is fatal. An error means the file is genuinely broken and a player may refuse it or skip a cue — a missing arrow, a reversed timestamp, a comma turned into a dot. A warning means the file is technically valid but problematic: numbering that is out of sequence, cues that overlap or run out of order, an empty cue. Info notes are purely cosmetic — a byte-order mark, Windows line endings, extra blank lines — and most players ignore them, but the cleanest file has none of them.
Encoding and the byte-order mark
An SRT file is plain text and should be saved as UTF-8 so accented characters, non-Latin scripts and emoji survive. A common gotcha is a UTF-8 BOM (byte-order mark) written invisibly at the very start of the file: it can attach itself to the first index number so the first cue silently fails to parse. Mixed or Windows (CRLF) line endings are usually harmless but untidy. This tool flags all of these and, when you auto-fix, strips the BOM and normalizes everything to UTF-8 with LF line endings.
How to use the SRT Validator
Paste your subtitle text or load an .srt file from your machine.
Read the validation report, which lists numbering breaks, bad timestamps, overlaps, empty cues and encoding problems cue by cue.
Apply the auto-fix and download the clean .srt, then retime it with the subtitle resync tool if the cues land early or late.
Frequently Asked Questions
An SRT (SubRip Subtitle) file is a plain-text file that holds the subtitles or captions for a video. It is a numbered list of timed cues: each cue has an index number, a start and end timestamp, and the lines of text to show on screen. Because it is just text, you can open an .srt in any editor — and just as easily break its formatting by hand.
Every cue is four parts in order: an index number, a timing line HH:MM:SS,mmm --> HH:MM:SS,mmm, one or more lines of text, then a blank line. For example:
1
00:00:01,000 --> 00:00:03,500
This is the first subtitle.
2
00:00:03,600 --> 00:00:06,000
And this is the second.
Numbers run sequentially from 1, every start time is before its end time, and the milliseconds follow a comma, not a dot.
Usually because something in the structure is off. The most common causes are a timestamp that uses a dot instead of a comma before the milliseconds, a missing or malformed --> line, a start time that comes after the end time, or an invisible byte-order mark glued to the first cue. Paste the file above and the validator will point to the exact cue and line so you can see what a player is choking on.
SRT timestamps are written HH:MM:SS,mmm — two-digit hours, minutes and seconds, then a comma and three digits of milliseconds. A cue's timing line is two of them joined by an arrow: 00:00:01,000 --> 00:00:03,500. The comma is the part people most often get wrong; WebVTT uses a dot there, but SubRip does not.
An overlap means one cue starts before the previous cue has ended, so two captions try to show at once. The validator flags every overlap, and the auto-fixer trims the earlier cue's end time back to the moment the next cue begins — without touching either cue's text. Tick Trim overlapping cues, click auto-fix and download the clean file.
Related Tools
More Subtitle & Caption Tools tools
Get captions client-approved in VoiceDeck
VoiceDeck adds client review & approval for video, audio, images & PDF — one shareable link, no per-seat fees, so every file ships in spec.