All dialogue is fictional and written for these examples. Five files reuse our existing diagnostic examples; four add focused checks. They are not results from an evaluated workbench translation run.
Reproduce a result in three steps
- Download and extract the pack. Keep the original files for comparison.
- Load one sample into the free validator. Compare its code, severity and line number with the list below or manifest.json.
- Edit a copy using the explanation, then check again. For the first error examples, compare against the structure-checked reference.
The files and their expected results
The overlap example passes the structure check with a warning. A passing result is not the same as a clean file or a verified translation.
1. A dot in an SRT timestamp
An SRT timestamp in this checker uses a comma before three millisecond digits. Change 00:00:01.000 to 00:00:01,000 and compare with the reference. Renaming a VTT file does not convert its format.
Expected: 2 parsed cues; 1 errors; 0 warnings. TIMESTAMP (error), line 2, cue 1.
srt-example-invalid-timestamp.srt
View the sample text
1 00:00:01.000 --> 00:00:03,000 Please check this file. 2 00:00:04,000 --> 00:00:06,000 Then download a copy.
2. A missing blank line
The second timing row is inside the first parsed block. Insert a blank line before cue number 2. The reported cue count is the number of parsed blocks, not a claim that no dialogue was lost.
Expected: 1 parsed cues; 1 errors; 0 warnings. MISSING_SEPARATOR (error), line 5, cue 1.
srt-example-missing-blank-line.srt
View the sample text
1 00:00:01,000 --> 00:00:03,000 Please check this file. 2 00:00:04,000 --> 00:00:06,000 Then download a copy.
3. A repeated cue number
Both cues are numbered 1. In this example change the second number to 2. The checker reports duplicate numbers; it does not require every valid file to use consecutive numbers.
Expected: 2 parsed cues; 1 errors; 0 warnings. DUPLICATE_NUMBER (error), line 5, cue 1.
srt-example-duplicate-number.srt
View the sample text
1 00:00:01,000 --> 00:00:03,000 Please check this file. 1 00:00:04,000 --> 00:00:06,000 Then download a copy.
4. Overlapping cues: review, do not automatically reject
Cue 1 ends at 4 seconds and cue 2 starts at 3 seconds. Overlap is a warning, so the structure check still passes. Simultaneous speech can be intentional. A whole-file time shift preserves this overlap.
Expected: 2 parsed cues; 0 errors; 1 warnings. OVERLAP (warning), line 6, cue 2.
srt-example-overlapping-cues.srt
View the sample text
1 00:00:01,000 --> 00:00:04,000 Please check this file. 2 00:00:03,000 --> 00:00:06,000 Then download a copy.
5. The structure-checked reference
Compare cue numbers, commas and blank lines with the four preceding files. Zero reported issues means only that this small file meets the checks in this checker.
Expected: 2 parsed cues; 0 errors; 0 warnings.
srt-example-structure-checked.srt
View the sample text
1 00:00:01,000 --> 00:00:03,000 Please check this file. 2 00:00:04,000 --> 00:00:06,000 Then download a copy.
6. An end time before its start
Cue 1 starts at 1 second but ends at 0.5 seconds. For this teaching example restore the end to 3 seconds. Real cue boundaries must be chosen against the actual video.
Expected: 2 parsed cues; 1 errors; 0 warnings. TIME_RANGE (error), line 2, cue 1.
srt-example-end-before-start.srt
View the sample text
1 00:00:01,000 --> 00:00:00,500 Please check this file. 2 00:00:04,000 --> 00:00:06,000 Then download a copy.
7. A cue with no caption text
Cue 1 has a number and timing but no text. Restore the fictional reference sentence to reproduce a passing check. This does not test whether an actual translation omitted a sentence.
Expected: 2 parsed cues; 1 errors; 0 warnings. EMPTY_TEXT (error), line 3, cue 1.
View the sample text
1 00:00:01,000 --> 00:00:03,000 2 00:00:04,000 --> 00:00:06,000 Then download a copy.
8. Touching boundaries with two text lines
The next cue starts exactly when the previous one ends, so this checker reports no overlap. The English and Chinese sentences are written illustrations, not results captured from an evaluated workbench translation run.
Expected: 2 parsed cues; 0 errors; 0 warnings.
srt-example-touching-bilingual.srt
View the sample text
1 00:00:01,000 --> 00:00:03,000 The small lantern is blue. 小灯笼是蓝色的。 2 00:00:03,000 --> 00:00:05,000 Keep it beside the window. 把它放在窗边。
9. UTF-8 BOM, CRLF and nonconsecutive numbers
This byte-level fixture uses a UTF-8 byte order mark, Windows line endings and cue numbers 10 and 20. It should pass this checker. It is not a certification that every player accepts the same choices.
Expected: 2 parsed cues; 0 errors; 0 warnings.
View the sample text
10 00:00:01,000 --> 00:00:03,000 The café opens at noon. 20 00:00:04,000 --> 00:00:06,000 Leave the blue folder here.
Manifest, integrity and reuse
You may use, copy, modify and redistribute the original example materials, including commercially, without a fee. Attribution is optional. This permission applies to the pack only, not the product source code or services.
SHA-256 values help check that you received the same bytes. They do not certify translation quality or prove who supplied a file.
What this pack cannot establish
There is no companion video: timestamps illustrate file structure, not audio/video synchronization. These are not AI translation quality tests, customer results, reading-speed checks or player certifications. The corpus is small and does not cover every valid or invalid SRT.
Suggested citation
DoneCove. SRT QA Sample Pack, v1.0.0, 2026-10-24.