💡 The FCC's four closed-caption quality benchmarks under 47 CFR § 79.1(j)(2) are: accuracy (faithful transcription with speaker IDs and sound cues), synchronicity (captions appear when speech begins at a readable display speed), completeness (captions run from program start to end), and placement (captions do not obscure faces or key graphics). A Subtitle Edit Fix Common Errors pass plus a Caption Inspector decode checks all four before broadcast delivery.
Key takeaways
- The four FCC benchmarks under 47 CFR § 79.1(j)(2): accuracy, synchronicity, completeness, placement. Each maps directly to a verifiable free-tool check before delivery.
- In Subtitle Edit: enable the CPS column (View > Column Chooser) and run Tools > Fix Common Errors to catch accuracy and synchronicity failures in one pass. Flag events above roughly 17 CPS for adult content.
- For SCC and MCC files: Caption Inspector's
-C1.608output exposes PAC row errors, drop-frame vs non-drop timecode mismatches, and byte-level encoding failures that Subtitle Edit's preview hides. - Completeness is the easiest benchmark to miss silently: check that your last caption event ends at or after the final line of dialogue, not cut off by a commercial transition.
- The FCC applies de minimis discretion for occasional isolated errors; systematic or continuous failures across any benchmark draw enforcement scrutiny.
What are the four FCC caption quality benchmarks?
The 21st Century Communications and Video Accessibility Act (CVAA, 2010) directed the FCC to establish quality standards for closed captions, now codified in 47 CFR § 79.1(j)(2). These standards apply to any video programming distributor required to carry captions under Part 79, and they cover four distinct quality areas.
Accuracy requires that captions match spoken words faithfully: correct spelling, punctuation, capitalization, and verb tense. It also covers non-verbal audio: speaker identification, sound effects, music cues, and audience reactions that are necessary for understanding. Paraphrasing is allowed only when time constraints make verbatim captioning impossible, and even then the meaning must be preserved.
Synchronicity requires that captions appear when the corresponding speech or sound begins, and end approximately when the audio ends. The display speed must give viewers sufficient time to read the text. For live programming the FCC recognizes that some lag is unavoidable, but expects it to be minimized.
Completeness requires that captions run from the beginning to the end of the program, "to the fullest extent possible." This includes captioning audio during commercial breaks where programme audio continues, and not cutting off captions during transitions to ads or subsequent programs.
Placement requires that captions not obscure "faces, featured text on screen (such as weather information), graphics, or other visual information important to understanding the programming." Captions must be appropriately sized and positioned so they remain fully visible on screen.
The FCC acknowledges that occasional isolated errors occur, especially in live programming. Enforcement discretion considers error type, frequency, whether failures were continuous or isolated, and what remedial steps were taken.
The QC checklist: each benchmark mapped to a concrete check
I run this checklist before every broadcast and streaming delivery. The tools vary by file format: Subtitle Edit covers SRT, WebVTT, and TTML; Caption Inspector covers SCC and MCC.
| FCC Benchmark | Core requirement (47 CFR § 79.1) | Subtitle Edit check | Caption Inspector check (SCC/MCC) |
|---|---|---|---|
| Accuracy | Faithful transcription: spelling, punctuation, speaker IDs, sound cues | F7 Spell Check; Fix Common Errors: fix double spaces, missing periods, extra spaces in text | Read -C1.608 text against script; garbled characters signal a Latin encoding error |
| Synchronicity | Captions appear when speech begins; readable display speed | Enable CPS column (View > Column Chooser); Fix Common Errors: Fix short display times; flag events above ~17 CPS for adult content | Check timestamps in -C1.608 against reference TC; semicolon separator = drop-frame (correct for 29.97 NTSC) |
| Completeness | Captions from program start to end, fullest extent possible | Check first event TC = programme IN; last event TC at or after final line of dialogue | Count events in -C1.608; look for unexpected gaps longer than normal shot-change pauses |
| Placement | No obscuring of faces, weather graphics, or featured text | For SCC export: verify row assignment in Subtitle Edit 608 export settings (Row 15 = bottom) | Read PAC row in -C1.608: Row 15 = bottom (correct for most US content), Row 1 = top; all-Row-1 output = conversion bug |
How do I check accuracy and synchronicity in Subtitle Edit?
For SRT, WebVTT, and TTML deliverables, I start with two steps: enable the CPS column, then run Fix Common Errors.
To show the CPS column: View > Column Chooser > check "Characters per second." This adds a live CPS figure to every event row. I scan for events above roughly 17 CPS for adult drama and roughly 13 CPS for children's programming. These are not FCC regulations; they reflect common industry practice for readable display speed, which is what the synchronicity benchmark requires in practical terms. Set your own limit at Tools > Settings > General > "Show characters per second for active subtitle."
Then run Tools > Fix Common Errors. The checks I enable on every pass:
- Fix missing periods at end of sentences: catches accuracy issues where a final period was dropped.
- Fix extra spaces in text: double spaces inside a caption event produce visible gaps on screen.
- Fix short display times: events shorter than roughly 0.8 seconds can flash past before a viewer reads them, failing synchronicity.
- Fix long display times: an event that overstays its welcome overlaps the next spoken line.
- Remove empty lines: blank events at the start or end of a file fail the completeness check.
After the pass, scroll through the event list with the CPS column visible. A red CPS value means the event exceeds your configured limit and should be reviewed for line-break or timing adjustment before delivery.
How do I verify placement and completeness in a broadcast SCC file?
For SCC (CEA-608) files, Subtitle Edit's visual preview is not enough for placement checking. The PAC row assignments live in the binary byte encoding, and Subtitle Edit renders all captions at a fixed preview position regardless of the actual row data. I use Caption Inspector to decode the raw positioning.
docker run --rm -v $(pwd):/data nebulabroadcast/caption-inspector \
-o /data /data/my-captions.scc -f 2997
-v $(pwd):/data: mount the current folder so output files appear alongside the SCC.-f 2997: set frame rate to 29.97 fps for US broadcast content. Required for correct timecode in the output.
Open the -C1.608 output in any text editor. Each caption event shows a line like:
{Preamble Address Code: Row 15, Column 0, White, Normal}
"Welcome to the evening news."
Row 15 is the bottom row of the 15-row CEA-608 grid, correct for most US broadcast content. If every event shows Row 1 (the top of the screen), a conversion step dropped the positioning data and substituted a default. This is the placement failure I see most often after an SRT-to-SCC conversion that did not explicitly set the output row in Subtitle Edit's 608 export settings.
For completeness in the SCC file, I check the first and last timestamps in the -C1.608 output. The first timestamp should be close to the programme start. The last timestamp should be at or after the final line of dialogue, not cut off mid-program. A file that ends ten seconds before the show's final audio line fails the completeness benchmark.
What can you QC yourself, and when does a broadcast deliverable need a specialist?
The checks above are entirely self-service with Subtitle Edit (free) and Caption Inspector via Docker (free). I run this full QC pass on every file before delivery, and it catches placement errors, encoding failures, and completeness gaps before a broadcaster's ingestion system flags them as errors.
Where experience makes a real difference: if your Caption Inspector output shows X markers in the .ccd file (invalid byte pairs that broadcast decoders discard), or if all events land on Row 1 with no obvious conversion step to explain it, tracing those failures requires knowing which authoring tool wrote the original bytes and at which stage the error was introduced. That diagnostic takes much longer without a solid background in the CEA-608 byte structure.
For any delivery to a broadcaster under FCC jurisdiction, the four benchmarks are not aspirational: they are part of the regulatory framework for video programming distributors. A systematic accuracy or sync failure can draw a viewer complaint and a compliance review. My caption QC service covers the full decode check, the completeness and placement audit, and the FCC benchmark review for US broadcast and streaming deliverables.
FAQ
Does the FCC specify an exact accuracy percentage, like 99%?
No. The quality standards in 47 CFR § 79.1(j)(2) require that captions "match the spoken words" faithfully but do not set a specific numerical accuracy threshold such as a minimum word-error rate. Enforcement discretion applies: the FCC considers whether errors are isolated or systematic and how frequently they occur. The "99% accuracy" figure sometimes cited comes from industry guidelines and some broadcaster internal standards, not the CFR text itself.
Do these FCC quality rules apply to streaming platforms like Netflix or YouTube?
The FCC's caption quality rules under Part 79 apply to video programming distributors under FCC jurisdiction: over-the-air broadcasters, cable operators, and satellite TV providers. They also extend to streaming clips that are reformatted versions of previously aired broadcast content under the CVAA's IP-delivered programming rules. Netflix and YouTube operate under their own style guides and contractual requirements, which often exceed the FCC minimums but are separate from FCC enforcement.
What CPS threshold should I use for synchronicity QC?
The FCC does not specify a maximum characters-per-second figure in 47 CFR § 79.1. In practice, most US broadcast captioners follow roughly 17 CPS for adult programming and roughly 13 CPS for children's content, values derived from Netflix's Timed Text Style Guide and common industry practice. Subtitle Edit can flag events above your configured limit in red via Tools > Settings > General. Always verify which standard your client or broadcaster expects, as requirements vary.
Does completeness mean I need to caption every background sound?
No. The FCC accuracy standard requires "non-verbal information conveyed through sound, including meaningful sound effects." Completeness means captions run from beginning to end, not that every incidental background noise receives its own event. In practice, I caption identifiable music cues, all dialogue, speaker IDs, and sound effects that affect understanding of the program. Continuous ambient sound that carries no dialogue-relevant information (traffic, crowd noise) is typically not captioned as a separate event, though a label like [crowd noise] at the start of a scene is common in SDH tracks.
What is the de minimis standard the FCC uses in enforcement?
The FCC acknowledges that occasional captioning errors are unavoidable, especially in live programming. Under its de minimis approach, it weighs the nature and frequency of the error, whether failures were isolated or continuous, whether they occurred in live vs pre-recorded content, and what remedial steps were taken after notification. Isolated spelling errors or brief sync lapses in live news are treated differently from systematic placement failures or large sections with missing captions in a pre-recorded broadcast. The standard is qualitative, not a specific error-rate ceiling.
Official Sources
- 47 CFR Part 79 - eCFR (Electronic Code of Federal Regulations) - primary text of the FCC closed captioning rules including § 79.1(j)(2) quality standards. Verified November 2026.
- WCAG 2.1: Understanding 1.2.2 Captions (Prerecorded) - W3C - WCAG criterion covering caption accuracy, synchronicity, and completeness. Verified November 2026.
- Comcast/caption-inspector - GitHub - Caption Inspector command syntax, output file formats (decoded608.md). Verified November 2026.
- Subtitle Edit - nikse.dk - CPS column and Fix Common Errors features. Verified November 2026.

Écrit par Đào Huy (Lucas), traducteur vietnamien et spécialiste de la localisation (anglais, chinois et français vers le vietnamien). See translation services →
