What each message means
The checker sorts what it finds into two groups. Errors can make a player skip or misread a cue, or mean the text is already damaged. To check items often look wrong or are hard to read, but may be intended.
Errors
No subtitle cues found
A cue is a number, a timing line such as 00:00:01,000 --> 00:00:03,000, and its text. The file has none, so there is nothing to check. It may be empty, may not be an SRT file, or its timing lines may be damaged.
The file is not valid UTF-8
Some bytes cannot be read as UTF-8, so they appear as � on screen. Arabic subtitles saved by older Windows programs are often in Windows-1256 instead. Open the original in a text editor with that encoding selected and save it as UTF-8. Characters that were already replaced cannot be restored from this copy.
Replacement characters (�) in the text
A � stands in for a character that could not be read, usually after a conversion between encodings. The original character is already lost in this copy, and no tool can restore it. Export the subtitles again from their original source as UTF-8.
Text that looks like Arabic read in the wrong encoding
Strings such as Ù…Ø±Ø usually mean UTF-8 Arabic was opened as Windows-1252 (or Latin-1) and saved that way. If the file was only opened wrongly, reopen it as UTF-8. If it was saved afterwards, go back to the original; a text editor can sometimes reverse the damage, but no tool can promise to.
Text with no timing line
Each cue needs a number, a timing line, then its text. A blank line inside a cue ends it early, and the text after the blank line becomes a separate block with no timing. Players skip such blocks or stop reading the file.
Timing line that cannot be read
A timing line must look like 00:00:01,000 --> 00:00:03,000: hours, minutes, seconds, a comma, then milliseconds, on both sides of the arrow. Players may skip the cue or stop reading the file.
Cue ends before it starts
The end time is earlier than the start time, so the cue can never be shown. Players skip it, and some stop reading the file. Correct the two times.
Cue with no duration
The start and end times are the same, so the cue would appear for no time at all. Give it a duration or remove it.
Two cues with no blank line between them
A blank line must separate cues. Without it, players read the two as one cue or drop the second. Add a blank line before this cue’s number.
To check
The file is UTF-16, not UTF-8
This file starts with a UTF-16 byte-order mark. Many players and platforms expect UTF-8, so save a UTF-8 copy before you use it. The other results come from reading it as UTF-16.
Cue with no visible text
The cue has a timing line but nothing to show. Players display nothing, and some editors reject empty cues. Add the text or delete the cue.
Cue number used more than once
Each cue should have its own number. Players usually ignore the numbers, but some tools use them to order or match cues, and a repeated number often means a cue was pasted twice.
Cue numbers skip or go backwards
Numbers should count 1, 2, 3 and so on. A gap usually means a cue was deleted by hand. Most players ignore the numbers, but some tools rely on them. Renumber the file in your editor if it matters.
Cue number missing or not a number
The line before the timing line should be the cue number. Players usually cope without it, but strict tools may reject the file.
Timing that is not in the standard form
Standard SRT writes times as HH:MM:SS,mmm with a comma before the milliseconds. A period, a one-digit hour or fewer than three millisecond digits is read by some players and rejected by others.
Cues that overlap
A cue starts before the one before it has ended, so two cues can be on screen at once. Players handle this differently: some stack them, some hide one. Make the cues follow each other, or confirm the overlap is intended, for example for two speakers.
Cue starts before the previous cue
Cues should be in time order. Some players stop reading at the first cue that goes backwards in time.
More than 2 lines in a cue
Cues with many lines cover the picture and are hard to read in time. The limit is a rule of thumb set by the limits above; change it to match your style guide.
Lines longer than 42 characters
Long lines run off small screens or force a player to wrap them unpredictably. Characters are counted without diacritics, invisible characters or tags such as <i>.
Reading speed above 20 characters per second
Text that stays on screen too briefly is hard to read. Characters per second is a rule of thumb, not a standard, and the right limit depends on your audience and platform. Lengthen the cue or shorten the text.
Unbalanced direction controls
Direction controls such as RLE, LRE, RLI, LRI and FSI start a stretch of text that a PDF or PDI must close. An unclosed or stray control can make a player lay out the rest of the cue in the wrong direction.
Direction override characters
LRO and RLO force the order of letters whatever their language, which can reverse or scramble text. Subtitles almost never need them.
Stray direction marks
LRM, RLM and ALM are invisible marks that steer direction. Inside a word, or repeated in a row, they usually come from copy and paste and can make a player reorder the text. A single RLM at the start or end of an Arabic line is normal.
Arabic line that starts with a Latin letter
Many players decide a line’s direction from its first letter. An Arabic line that starts with a Latin letter may be laid out left to right, which moves punctuation and reorders the words. An invisible right-to-left mark (RLM) at the start of the line often prevents this. The checker cannot know how your player will draw the line.
Arabic line ending in Latin text or digits, then punctuation
When an Arabic line ends with Latin letters or digits followed by punctuation, some players draw the punctuation on the wrong side of the line. An RLM after the punctuation often prevents this. Check the line in your own player.
Latin ? , ; in Arabic text
Arabic has its own question mark, comma and semicolon (؟ ، ؛). The Latin forms ? , ; next to Arabic letters look inconsistent and are the marks that most often jump to the wrong side of a line.
Invisible characters in the text
Zero-width spaces, soft hyphens, control characters and similar marks are invisible but still characters. They can break line wrapping, search and spell checking. A zero-width joiner or non-joiner is sometimes intended; the others rarely are.
Question marks where Arabic is expected
A line made mostly of question marks usually means the text was converted to an encoding without Arabic letters, and the letters became ? at that moment. They cannot be restored from this copy: go back to the original file. If the question marks are intended, ignore this.
No Arabic letters found
The file has no Arabic letters, so the direction checks were skipped. The structure, timing, length and invisible-character checks still ran.
The default limits
The checker starts with three limits: 2 lines per cue, 42 characters per line and 20 characters per second. They are rules of thumb in the range many subtitle style guides use for Arabic, not standards. Change them under “Adjust the limits” above to match your own style guide or platform.
What the checker does not do
- It does not read the meaning of the subtitles. It cannot tell whether the Arabic is accurate, correctly spelled, in the right dialect or properly translated.
- It does not see the video or hear the audio, so it cannot tell whether the timing matches the speech.
- It does not certify accessibility or compliance with a platform. A file with no findings may still fail a broadcaster’s, platform’s or accessibility specification.
- It does not change your file. There is no auto-fix and no rewritten download; the only file it can give you is a plain-text report of its findings.
- It cannot restore lost characters. Replacement characters and question marks mean the text was already lost before it reached this page; only its original source can bring it back.
- It checks SRT only, not WebVTT, TTML or ASS. Its direction checks are heuristics: they point to lines that often go wrong, not lines that will certainly go wrong in your player.
Privacy
The check runs in your browser. The file is read on your device and never uploaded, and its text and name are not sent anywhere. Like other pages on this site, this page may count visits and clicks, but the checker itself never sends your file, its name or any subtitle text. See the privacy page.
Need subtitles from a recording? Create an Arabic SRT.