A free tool to check .SRT caption files for errors before delivery — broken timecodes, overlapping events, and empty blocks — plus configurable readability rules: characters per line, lines per caption, reading speed (characters per second), caption duration, and gap between events. Built-in presets match Netflix, BBC, FCC and Filmhub delivery requirements. Everything runs locally in your browser — your file is never uploaded anywhere.
Step 1 — Choose a style guide preset (optional)
If you're delivering to a specific platform, select the matching preset from the dropdown in the Requirements section. CaptionQC will automatically populate the correct thresholds for characters per line, reading speed, duration, and gap. You can still adjust any individual value after selecting a preset if your project has specific requirements.
Step 2 — Upload your SRT file
Click the upload area or drag and drop your .srt file directly onto it. Your file is never uploaded to any server — everything is processed locally in your browser, so your caption content stays completely private.
Step 3 — Run the check
Click the Run Check button. CaptionQC will parse every caption block in your file and check it against both structural rules (timecode order, overlaps, malformed blocks, empty captions) and your chosen readability requirements.
Step 4 — Review your findings
Results appear as a summary showing total captions, errors, and warnings. Click the Errors or Warnings count to filter the table to just that category. Click again to return to all findings. Each finding shows the caption number, severity, issue type, detail, and timecode so you can locate and fix it quickly in your editing software.
Step 5 — Export your report
Once checks are complete, use the Export Report button to download a plain text QC report. This is useful for sharing with clients, distributors, or keeping as a delivery record.
Caption QC is a free, browser-based SRT caption validator built for filmmakers, video editors, subtitle editors, and content distributors. It was created to solve a common problem in post-production: caption files that look correct in an editing tool but fail technical QC when submitted to a streaming platform or distributor.
Failed caption submissions cost time and money — a rejected Filmhub delivery or a Netflix QC failure can delay a release by days or weeks. Caption QC lets you catch those issues before submission, in seconds, without needing to install any software.
Because everything runs in your browser, there are no accounts, no file uploads, and no subscription fees. Your caption files and their contents never leave your device.
Caption QC is developed and maintained by Fabled Tales Productions.
Netflix — Timed Text Style Guide
Netflix is one of the most prescriptive platforms when it comes to caption requirements. Their Timed Text Style Guide specifies a maximum of 42 characters per line for most languages, a strict 2-line limit per caption block, and a reading speed cap of 17 characters per second for adult content (lower for children's programming). Caption durations should generally fall between roughly 5–6 seconds minimum and 7 seconds maximum, with at least a 2-frame gap (approximately 0.083 seconds) between consecutive caption events. Netflix also requires captions to be synchronised closely with dialogue and prohibits excessive line breaks, italics, or decorative punctuation unless editorially necessary. Submitting an SRT file to Netflix without meeting these requirements will typically result in a rejection at the QC stage.
BBC — Subtitle Guidelines
The BBC's subtitle guidelines reflect their long-standing commitment to accessibility for deaf and hard-of-hearing viewers. The BBC recommends a maximum of around 37 characters per line and a 2-line limit, with a reading speed equivalent to roughly 180 words per minute — approximately 15 characters per second when converted. Maximum on-screen duration is typically around 6 seconds. Unlike Netflix, the BBC specifies speed in words per minute rather than characters per second, so the CPS figure used in the Caption QC preset is a commonly used equivalent rather than a verbatim BBC figure. The BBC places strong emphasis on verbatim accuracy and appropriate timing relative to the spoken audio.
FCC / DCMP — Closed Captioning Standards
The FCC (Federal Communications Commission) sets closed captioning requirements for broadcast television in the United States under the Communications Act. The FCC's four core quality standards are accuracy (verbatim or edited to convey the full programme), synchronicity (captions must match the timing of the corresponding audio), completeness (all dialogue and relevant audio must be captioned), and placement (captions must not obscure important visual content). Importantly, the FCC does not specify numeric limits for characters per line or characters per second — it mandates readable rates rather than hard figures. The values used in the Caption QC FCC preset (32 characters per line, 2 lines, 0.5 second minimum duration) are widely used industry defaults aligned with DCMP (Described and Captioned Media Program) guidance.
Filmhub — Captions Requirements
Filmhub is a film distribution platform that delivers independent films to streaming services worldwide. Their published Captions Requirements are specific and strictly enforced: a maximum of 43 characters per line, no more than 2 lines per caption, a maximum reading speed of 25 characters per second, and caption durations between 600 milliseconds and 8 seconds. There must be a minimum gap of 66 milliseconds between consecutive caption events. Filmhub also requires captions to be synchronised within 0.5 seconds of the corresponding audio — this sync requirement cannot be verified by Caption QC as it requires a reference to the audio track, but all other Filmhub requirements are fully checked by this tool.
YouTube — Recommended Best Practice
YouTube does not publish a strict technical specification for captions in the way that Netflix or Filmhub do. YouTube's own guidance focuses on accuracy and synchronisation rather than prescriptive numeric limits, and the platform is generally more forgiving than premium streaming services. The YouTube preset in Caption QC uses widely accepted community best-practice figures: approximately 32 characters per line (up to 38 is generally acceptable), a 2-line maximum, a reading speed of around 20 characters per second, and a minimum on-screen duration of 2 seconds with a maximum of 7 seconds. These figures are not official YouTube requirements but represent the standards most professional subtitle editors apply when creating captions for YouTube content.
What does CPS mean in captions?
CPS stands for characters per second and is the standard measure of caption reading speed. It is calculated by dividing the total number of characters in a caption block by the duration that caption is displayed on screen. Most professional style guides set a maximum CPS to ensure viewers have enough time to read each caption before it disappears. Netflix caps adult content at 17 CPS, Filmhub allows up to 25 CPS, and the BBC equivalent is approximately 15 CPS.
What is the difference between an error and a warning?
Errors are issues that will almost certainly cause a QC rejection or make the captions unwatchable — things like overlapping timecodes, missing caption text, or malformed SRT blocks. Warnings are issues that exceed a recommended threshold but may or may not be rejected depending on the platform and context — things like a caption that's slightly too long on screen or a gap between events that's a fraction shorter than the guideline.
What structural checks does Caption QC perform?
In addition to the configurable readability rules, Caption QC automatically checks every SRT file for: malformed or unparseable timecode lines, caption blocks with missing index numbers, index numbers that are out of sequence, overlapping timecodes where one caption starts before the previous one ends, zero or negative duration events where the end time is not after the start time, and empty caption blocks with no text content.
What are Netflix's caption requirements?
Netflix's Timed Text Style Guide specifies a maximum of 42 characters per line, 2 lines per caption, 17 characters per second for adult content, and caption durations roughly between 5–6 and 7 seconds, with a minimum 2-frame gap between events.
What does Filmhub require for SRT captions?
Filmhub requires a maximum of 43 characters per line, 2 lines, a maximum reading speed of 25 CPS, durations between 600ms and 8 seconds, and a minimum 66ms gap between caption events. Filmhub also requires captions to sync within 0.5 seconds of the audio, which requires an audio reference and cannot be checked by this tool.
What does YouTube require for captions?
YouTube does not enforce strict numeric limits. The YouTube preset uses widely-followed community best practices: around 32 characters per line, 2 lines maximum, roughly 20 characters per second, and a minimum of 2 seconds on screen.
Can I use my own custom thresholds?
Yes. Select Custom from the preset dropdown and set your own values for any combination of characters per line, lines per caption, characters per second, minimum and maximum duration, and minimum gap between events. Each rule can be individually toggled on or off using the checkbox next to it.
Is my file uploaded anywhere?
No. Caption QC processes your SRT file entirely within your browser using JavaScript. Nothing is sent to a server and your caption content is never stored or transmitted anywhere.
Does this work for VTT files?
Not currently — Caption QC is built specifically for the SRT format. WebVTT support may be added in a future version.
What software can I use to fix caption errors?
Popular free options include Subtitle Edit (Windows) and Aegisub (cross-platform). Both allow you to edit timecodes, adjust reading speed, and reformat caption blocks. For professional use, tools like EZTitles and FAB Subtitler are widely used in broadcast and streaming post-production.