Is my SRT or VTT file right for YouTube? Free subtitle checker
YouTube accepts both SubRip (.srt) and WebVTT (.vtt). For .srt, YouTube Help says only basic files are supported, no style markup is recognized and the file must be plain UTF-8. Open or paste your file below: the checker lists broken timecodes, overlaps, cues out of order and empty cues with their line numbers, flags captions that are too fast to read (over 17 characters per second by default), and can shift the timings, fix overlaps and convert SRT to VTT. Nothing is uploaded.
Check a subtitle file
Your captions stay on your device. The file is read and checked in this tab. Nothing is uploaded or saved.
Open or paste a caption file to check it.
Fix and save
Fix overlaps ends the earlier cue 2 frames before the next one starts. Saving writes plain UTF-8 without a byte order mark, keeps your line endings and numbers SRT cues 1, 2, 3 in order.
How to use the subtitle checker
- Open your .srt or .vtt file, or paste it into the box. The file that loads first is a made-up example with a few problems on purpose, so you can see what the results look like.
- Read the result. Errors are timings that are broken or contradict each other. Warnings are reading speed and layout guidelines.
- Click a problem to jump to its line in the box, and fix it there. The check runs again as you type.
- Use the fixes if they help: shift every timing by a number of milliseconds, trim overlapping cues, or sort the cues by time and renumber them. Undo takes back the last fix.
- Save as .srt or .vtt. Saving in the other format converts the file: SRT to VTT adds the WEBVTT header and dots in the timecodes, VTT to SRT drops the cue settings and keeps only the <b>, <i> and <u> tags.
What the checker looks for
| Check | Flagged when | Type | Based on |
|---|---|---|---|
| Timecode can't be read | The line has --> but the times are not in a time format | Error | SubRip and WebVTT formats |
| End before start | A cue ends before, or at the same moment, it starts | Error | W3C WebVTT: the end time must be greater than the start time |
| Cues out of order | A cue starts before the cue above it | Error | W3C WebVTT: cues are ordered by start time |
| Overlap | A cue starts before an earlier cue has ended | Error | Two cues timed for the same moment |
| Empty cue | A cue has a timecode but no text | Error | Nothing to show |
| Not UTF-8 | The file bytes are not valid UTF-8 (opened files only) | Error | YouTube Help: .srt must be plain UTF-8 |
| Too fast to read | More than 17 characters per second (or the 15 or 20 you pick) | Warning | Netflix English (USA): up to 17 for children's programs, 20 for adult programs |
| Line too long | A line has more than 42 characters | Warning | Netflix English (USA): 42 characters per line |
| Too many lines | A cue has more than 2 lines | Warning | Netflix English (USA): maximum two lines |
| Too short | On screen less than 5/6 of a second (0.83 s) | Warning | Netflix General Requirements: minimum 5/6 of a second |
| Too long | On screen more than 7 seconds | Warning | Netflix General Requirements: maximum 7 seconds |
| Gap under 2 frames | A cue starts less than 2 frames after the previous one ends | Warning | Netflix Subtitle Timing Guidelines: minimum of 2 frames between subtitles |
The reading speed and layout numbers come from Netflix's timed text style guides for English (USA). They are guidelines for subtitles, not YouTube rules: YouTube Help lists the caption formats it accepts but does not set a reading speed or a line length. Characters are counted with spaces and punctuation, without line breaks and without tags such as <i>; other tools may count slightly differently.
How I check a caption file as an editor
When captions come with a video I edit, I check them after the cut is locked, not before. If the cut changes after the captions were made, every caption after the change is off by the length of what was added or removed. One shift for the whole file fixes captions that are all early or late by the same amount. A file that drifts more and more along the video was timed to a different cut or frame rate, so I go back to the final export instead of shifting.
Next I look at reading speed. Fast talk turns into captions with a lot of text in very little time: 60 characters in 2 seconds is 30 characters per second, close to twice the 17 this checker uses by default. I split those into two cues at a natural pause instead of squeezing them. Then the layout: two lines at most and no line over 42 characters.
Last, the small things that stop a file from reading cleanly: a dot instead of a comma in SRT timecodes, a missing blank line between cues, or a file saved in a Windows encoding instead of UTF-8. The checker points to the exact line of each one. If the captions are for a narrated video, my script length calculator tells you how long the read will be before you record.
Step-by-step guide
For the whole process around this tool, read How to add SRT subtitles to a YouTube video: how to time them, check them and upload them in YouTube Studio.
FAQ
Sources
- YouTube Help, Supported subtitle and closed caption files: the list of basic, advanced and broadcast formats; for SubRip (.srt), "Only basic versions of these files are supported", no style markup is recognized and the file must be in plain UTF-8; WebVTT (.vtt) supports positioning, with styling limited to <b>, <i> and <u>. Read October 19, 2026.
- Netflix Partner Help Center, English (USA) Timed Text Style Guide: 42 characters per line, maximum two lines, up to 20 characters per second for adult programs and up to 17 for children's programs. Read October 19, 2026.
- Netflix Partner Help Center, Timed Text Style Guide: General Requirements: minimum duration 5/6 of a second and maximum duration 7 seconds per subtitle event. Read October 19, 2026.
- Netflix Partner Help Center, Timed Text Style Guide: Subtitle Timing Guidelines: subtitles must have a minimum of 2 frames between them. Read October 19, 2026.
- W3C, WebVTT: The Web Video Text Tracks Format: the WEBVTT header, the 00:00:00.000 timestamp, cues ordered by start time, end time greater than start time, and the cue settings vertical, line, position, size, align and region. Read October 19, 2026.
- The Netflix numbers are guidelines Netflix sets for its own subtitle deliveries, used here as a common reference. They are not YouTube rules. The 15 characters per second option is a stricter choice added for slower readers, not taken from those guides.
Who made this
I'm Kevin Tabares. I've edited long-form YouTube videos since 2015 (1,277 videos and 152.2M+ views tracked on YT Jobs), mostly Roblox and Minecraft gaming, plus narrated documentaries. A caption file is a small part of a video and an easy one to get wrong, so I built a checker that points to the exact line and fixes the common problems in one click. If you want an editor for your channel, get in touch.
More free tools
A silence detector, a script length calculator, an export settings calculator, a thumbnail preview, a frame grabber, a LUFS meter and more, all free and without signup.
See all tools →