SRT Validator

Check an SRT file for format errors — numbering, timestamps, overlaps and encoding — and auto-fix them, then download a clean .srt.

VoiceDeck

AI-powered audio review & delivery for voice production teams

Your 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.

Errors break the file · Warnings are valid but problematic · Info notes are cosmetic.

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:

  1. An index number — a counter that starts at 1 and increases by one for every cue.
  2. 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).
  3. The subtitle text — one or more lines shown on screen.
  4. 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.

Frequently Asked Questions

What is an SRT file?

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.

What does a valid SRT look like?

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.

Why won't my SRT load?

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.

What format are SRT timestamps?

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.

How do I fix overlapping subtitles?

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.

Get captions client-approved in VoiceDeck

VoiceDeck adds AI-powered audio & video review and delivery for your whole team — so every file ships in spec, automatically.