SRT and VTT Validator — Find and Fix Subtitle File Errors
Drop an SRT or VTT file and the validator lists every problem with the row or line it is on: unreadable timestamps, a missing WEBVTT header, cues stuck together, overlaps, broken numbering, the wrong encoding. Order, overlaps and empty lines are fixed in one click; the rest is fixed when you export.
Validate a subtitle file
Files are processed in your browser and never uploaded
Everything the Validator Checks
Problems come in three levels. An error means players will skip lines or reject the file; a warning means some players will; a tip is a readability limit that never breaks playback. This is the full list, in the order the check sorts it.
| Problem | Level | What happens and how to fix it |
|---|---|---|
| Characters shown as � | Error | The text was saved in another encoding and these letters are lost. Re-save the original file as UTF-8 and open it again. |
| A .vtt file without the WEBVTT line | Error | Browsers and most video platforms reject the file. Export as VTT and the header is added. |
| Commas in VTT timestamps | Error | WebVTT needs a dot before the milliseconds, and browsers drop cues with a comma. Export as VTT rewrites every timestamp. |
| An unreadable time line | Error | Usually a typo, such as a missing colon or a single dash instead of -->. The cue is skipped; the check gives the file row so you can retype it. |
| Text without a time line | Error | Players skip it. It is often a stray paragraph or a line break where a blank line should be. |
| Two cues with no blank line between them | Error | The second cue is read as text of the first. Add the blank line in the original file and open it again. |
| A line that ends before it starts | Error | Nothing is shown. Correct the end time. |
| A line that starts earlier than the one above | Error | Players may skip it. Sort lines by time puts the file in order. |
| A file not saved as UTF-8 | Warning | It is read as Windows-1252. Check accented letters; the exported file is UTF-8. |
| An .srt file with WebVTT inside | Warning | SRT players may not read it. Export as SRT to convert it. |
| SRT times not in the 00:00:00,000 form | Warning | Hours missing or a dot instead of the comma. Many players and YouTube still read it; strict ones do not. Export rewrites the times. |
| Cue numbers out of sequence or missing | Warning | Export numbers every cue again from 1. |
| Overlapping lines | Warning | Two lines are on screen at once. Fix overlaps ends each line just before the next one starts. |
| Empty cues | Warning | Nothing is shown. Remove empty lines deletes them. |
| A UTF-8 BOM at the start | Tip | Most players accept it; a few old ones show stray characters. Exported files have no BOM. |
| More than 2 rows, over 42 characters in a row, over 20 characters per second, under 0.83 s or over 7 s on screen | Tip | Playback is fine, but the line is hard to read. Shorten, split or merge it, or hide tips with Show readability tips. |
Problems in the file itself are found once, when it is opened; problems with lines are checked again live as you edit, and the count on the Check button follows. The tip limits are common ones in professional subtitle guidelines — a platform you deliver to may set its own.
Why a Player Rejects a Subtitle File
Most “my subtitles won’t load” cases come down to one of three things.
Format
It isn’t the format its name says
A .vtt that is really SRT, or an .srt with WebVTT inside. Renaming a file doesn’t convert it; exporting does: the header, cue numbers and timestamp style are written for the format you pick.
Encoding
Accents turn into é or �
Older subtitle files are often saved in a Windows encoding rather than UTF-8. The validator reads the common Windows one and tells you so; letters already shown as � are lost and need the original file.
Structure
One missing blank line
SRT and VTT separate cues with an empty line. Lose one and two subtitles become one, with a time line shown as text on screen. Hand edits in a text editor are the usual cause.
How to Validate an SRT or VTT File
Three steps, all in your browser.
Open the file
Drop the SRT, VTT or SBV on the validator. The Check window opens on its own with a summary of errors, warnings and tips.
Work through the list
Click a problem to jump to its line. Use Sort lines by time, Fix overlaps or Remove empty lines where they appear, and correct the rest in the editor.
Export a clean file
Export SRT or VTT: numbering, timestamps and the header are written correctly, in UTF-8. Open Check again at any point to see what is left.
No subtitle file yet?
Sign up free and AI writes timed subtitles from the speech in 120+ languages — then fix them here or in the app.
Translate the finished subtitles into 50+ languages and download each language as its own SRT or VTT.