Skip to main content
SubtitleMatrix

Find Out-of-Order Subtitles

Quality checksNon-monotonic timing
Or paste subtitle text

Options

Which frame rate the timings are counted in. On the format pages this is what MicroDVD needs, because it stores timing as frame numbers. On the frame rate pages it is the rate the file was timed against — the version the subtitles were made for — and the page's second box takes the rate of the video you are going to use them with. 23.976, 24, 25, 29.97, 30, 50, 59.94 and 60 are the common ones. Getting it wrong shifts the whole timeline, and on the frame rate pages it shifts it by a ratio rather than by a fixed amount.

A subtitle file is supposed to run forwards: each cue starting no earlier than the one before it. This page reports files where that was not true — where the reader had to move cues around before the file would hold together — and it does so from the reader's own record of the sort rather than from the cues, because by the time anything can be checked the order is already correct. The result is a report, not a converted file: nothing is rewritten.

That mechanism is worth understanding before reading the report. Cues are sorted by start time the moment the file is read, since every other operation, every preview and every export assumes ascending order. A file that arrives out of sequence therefore leaves no trace of it in the cues themselves — the only surviving evidence is the count of cues that had to be moved, which is what the report prints: one document-level finding, the number of cues involved, and no timecode, because after sorting there is no honest position to point at.

What counts as out of order is a decrease in start times, and nothing else. Two cues that begin on the same millisecond are not out of sequence: the sort is stable, nothing moves, and the file survives this check — such a pair is more likely to show up on the overlap page. A file read in order produces a report with nothing in the findings and a header that says nothing was lost while reading, which is a real acquittal: the evidence for this check is the number of cues that had to move, and zero is a number. Plain text is not accepted, because a format with no start times cannot be out of order in any sense.

Examples

The file runs backwards

Subtitles

1
00:00:10,000 --> 00:00:11,000
I was working late.

2
00:00:01,000 --> 00:00:02,000
Where were you?

What the report finds

Cues out of sequence — 1 found

Severity   Cues   Start   End   Measured
Warning    —      —       —     2 items

The second cue starts nine seconds before the first. The report gives one finding and no timecode: the cues were sorted while the file was read, so there is no longer a position in the file that can be called wrong. The header line Cue order × 2 is the same fact counted at read time.

In order, and the report says so

Subtitles

1
00:00:01,000 --> 00:00:02,000
Where were you?

2
00:00:10,000 --> 00:00:11,000
I was working late.

What the report finds

Cues out of sequence — Nothing found

Cues                2
Checks run          1
Lost while reading  Nothing

Ascending times, nothing moved. On this page an empty result is a genuine acquittal rather than a missing answer, and the loss line says Nothing for the same reason — the evidence for the check is the number of cues that had to be moved, and the file produced none.

Two cues starting together are not out of order

Subtitles

1
00:00:01,000 --> 00:00:02,000
Where were you?

2
00:00:01,000 --> 00:00:03,000
I was working late.

What the report finds

Cues out of sequence — Nothing found

Cues                2
Checks run          1
Lost while reading  Nothing

Equal start times are not a decrease, the sort is stable, and no cue moves. Files like this one carry a different defect — the two cues share the screen — and that is what the overlap page is for. Sending them here would mean reporting a reorder that never happened.

Frequently asked questions

What makes a subtitle file out of order on this page?

A cue whose start time is earlier than the start time of a cue that appears above it. A decrease, in other words, and nothing else: equal start times are not a decrease, and cues with equal ends are irrelevant because the sort is by start. One bad cue is enough to report the file.

Why does the finding show no timecode?

Because the cues are sorted as the file is read, and the report is produced afterwards. By that point the sequence in memory is correct and there is no position left that can honestly be called the wrong one. The count of cues that had to be moved is the evidence, and it is printed in the measured column and again in the header as a loss.

Does this page reorder my file?

No. It reads the file and produces a report; the original is untouched. The sort that the finding refers to happens inside the browser while reading and is not written anywhere. If you want the reordered file itself, that is a different operation with a subtitle file as its output.

Is a file with two cues at the same start time a problem here?

Not on this page — nothing moves when equal start times are sorted, so the check reports nothing. Such a cue pair is worth looking at for a different reason: two cues on the screen at the same moment is an overlap, and that is the page to take it to.

Which subtitle formats can be checked for cue order?

Eleven of the twelve: SRT, WebVTT, ASS, SSA, SBV, SMI, LRC, MicroDVD, TTML, JSON and CSV. Plain text is not on the list, because with no start times there is no order to be wrong — reporting a clean result there would be a false acquittal rather than a real one.

How often does a delivered subtitle file run backwards?

More often than the timeline would suggest, and usually for a boring reason: two files merged by hand, a machine translation pass that returned its segments in a different order, or a timing tool applied to a selection rather than to the whole file. It rarely survives to a player, because players sort too, but it does survive into tools that assume the file is ordered.

Can a batch of files be checked at once?

Yes. Any number of files can be dropped in and they are read one after another, each with its own report, and the reports download together as a zip. The queue shows progress per file and the run can be stopped partway without leaving anything running in the background.

Related tools