SRT & VTT subtitle checker
Find timing, readability and formatting issues in batches of SRT and VTT files.
Check SRT and VTT subtitles in batches
Choose UTF-8 subtitle files, adjust line-length and reading-speed limits, run the quality check and download the complete JSON report. Review timing errors first, then overlaps, empty cues and readability. Correct source files in your subtitle editor and run the check again.
How to check an SRT file online
Subtitle files look simple, but a single malformed timestamp or overlapping cue can make a platform reject the whole delivery, and fast or overly long lines make captions hard to read. This free SRT checker reads your .srt and .vtt files locally, lists every problem with its cue number and lets you download a complete JSON report for your records or for a colleague.
- Choose files. Select up to 20 UTF-8 SRT or WebVTT files (20 MB each, 80 MB per batch).
- Set your limits. Enter the maximum characters per line and characters per second from your style guide.
- Run the check. Findings appear per file; the page shows up to 200 per file and the JSON report contains all of them.
- Fix and re-check. Correct timing errors first, then readability issues, export again and re-run the check.
What each finding means
- Invalid timestamp: a time code that cannot be parsed, such as a missing millisecond field or a dot instead of a comma in SRT. Players may skip the cue or refuse the file.
- Reversed timing: the end time is before the start time. This usually comes from a typing error or a bad conversion.
- Overlap: a cue starts before the previous one has ended. Overlaps are sometimes intentional for two speakers, so review them in context.
- Empty cue: a cue with a time code but no text. Delete it or add the missing line.
- Long line: a line longer than your characters-per-line limit. Break it at a natural point — after punctuation, before a conjunction — or shorten the wording.
- Reading speed (CPS): characters per second is the number of non-whitespace characters divided by the cue's duration. If it is too high, viewers cannot finish reading before the subtitle disappears. Extend the cue, merge it with a neighbour or condense the text.
Common subtitle specifications
The Netflix English (USA) Timed Text Style Guide is widely used as a reference: a maximum of 42 characters per line, no more than two lines per subtitle, a reading speed of up to 20 characters per second for adult programs and 17 for children's programs. Netflix's general requirements also set a minimum duration of five-sixths of a second (20 frames at 24 fps) and a maximum of 7 seconds per subtitle event. Broadcasters, e-learning platforms and festivals often use different numbers, so treat these as a starting point and enter the limits from your actual brief.
SRT vs WebVTT
SRT is the simplest and most widely accepted format: numbered cues with time codes like 00:01:02,500 --> 00:01:04,000. WebVTT is the format browsers use for HTML5 video; it starts with a WEBVTT header, uses a dot before milliseconds and supports styling and positioning. This checker understands both, so you can check a mixed batch in one run.
Tips for cleaner subtitles
Keep a two-frame gap between consecutive cues so they do not flicker together, avoid splitting a short sentence over two cues, and keep line breaks balanced. After fixing your captions, you may want to compress the video for review links or email it to a client.
Frequently asked questions
What does this SRT checker look for?
Invalid or reversed timestamps, overlapping cues (including cues nested inside other cues), empty cues, lines longer than your character limit and cues whose reading speed exceeds your characters-per-second limit.
What are good default limits?
The defaults follow the Netflix English (USA) Timed Text Style Guide: 42 characters per line and up to 20 characters per second for adult programs. Netflix uses 17 characters per second for children's programs. Always use the numbers from your own client or platform if they differ.
Does it change or fix my subtitle file?
No. The checker only reads your files and reports problems. Make corrections in your subtitle editor so you stay in control of wording and timing.
Are my subtitle files uploaded?
No. Files are parsed in your browser and never sent to a server.
Does it validate the full WebVTT specification?
It is a practical quality lint, not a complete spec validator. NOTE, STYLE and REGION blocks are ignored and markup is stripped before readability checks.
Which encodings are supported?
UTF-8. Convert files in other encodings to UTF-8 in your editor first, otherwise characters may be misread.
Related tools
- Video Compressor — Shrink MP4, MOV and WebM files for Discord, email and WhatsApp.
- Bulk Product Image Resizer — Resize and pad product photos on white or transparent backgrounds.
- Image DPI & Print Checker — Check real PPI, transparency and margins before printing.