Fonti Studio

HomeTools › Subtitle validator

Subtitle validator: timed text conformance check

Check an SRT or WebVTT file against the Netflix Timed Text limits platform QC enforces: 42 characters per line, 2 lines, reading speed, durations, 2-frame gaps, overlaps. Graded findings, not a wall of errors.

Runs in your browser · your file never leaves your machine

Convert format

Timing is preserved to the millisecond and text passes through untouched. Both formats store real clock time, so no frame rate is involved.

Frame-rate repair

For subtitles that drift steadily: in sync at the start, seconds off by the end. Timestamps are rescaled by the exact ratio between the two rates.

Constant shift

For subtitles that are early or late by the same amount all the way through. Positive moves cues later, negative moves them earlier.

Applied after the frame-rate repair when both are set.

How findings are graded
BlockingBreaks the spec with no legitimate exception. A platform QC bounces the file.
ReviewExceeds a limit for a reason a person has to judge: a two-speaker cue, a card over dialogue, or dialogue the original cuts just as fast.
RepairableFixed mechanically when the file is written, not by an editor.

Checked against the public Netflix Timed Text limits: 42 characters per line, 2 lines, reading speed, 5/6 s to 7 s durations, 2-frame gaps, overlaps. Formatting tags are excluded from the counts, and cues of 12 characters or fewer are exempt from reading speed because they are read at a glance.

What the subtitle validator checks

The validator runs the mechanical rules a platform QC bounces files on, as published in the Netflix Timed Text Style Guide and mirrored by most broadcasters: no line over 42 characters, no cue over two lines, reading speed at or under 20 characters per second for adult programming (17 for children's), a minimum duration of 5/6 of a second and a maximum of 7 seconds, a gap of at least two frames between consecutive cues, and no overlaps. Set the frame rate to the one the video actually runs at, because the gap rule is counted in frames.

Timed text conformance, graded rather than shouted

It grades what it finds instead of calling everything an error, because in professional work most of these limits have legitimate exceptions. Blocking means the spec is broken with no defensible reading: a line over 42 characters, three lines, an overlap, a cue that ends before it starts. Those bounce. Review means a limit is exceeded for a reason a person has to weigh: a cue carrying two speakers splits its text between two short lines that each read comfortably; an on-screen card stacked over dialogue is two reading units by design; dialogue that is fast in the original is often faithfully fast in translation. For those the tool reports the combined figure and the longest single line, so you can tell in one glance which it is. Repairable means the writer fixes it mechanically, like a gap under two frames.

It is calibrated the way a delivery is actually judged: cues of twelve characters or fewer are exempt from reading speed (they are read at a glance), formatting tags are excluded from every count, and bilingual stacked files are measured per language, not on the stacked total. Download the findings as a CSV to hand to whoever edits the file.

What it does not check

The translation. A file can pass every rule here and still read badly, carry a neighbour's line, or drop a glossary name, which is a different class of problem entirely and the reason our own deliveries add a semantic-alignment pass and a native read on top of this check. It also does not validate TTML/IMSC profile conformance; for the XML formats, see which subtitle format your buyer actually wants.

Need it fixed, not just flagged?

We deliver broadcast-grade subtitles that pass these checks and the ones no tool can run: glossary lock, semantic alignment, and a native-speaker read. €400 per language for a feature, flat, with a free preview first.

Send a brief

Prefer email? hello@fonti.studio