Subtitle find and replace

One word, spelled three ways.

Replace text across every cue without touching timing, and catch the words your file spells more than one way before anyone else does.

4 cues, 22 words checked. Timing is never changed.

Words spelled more than one way

  • 3 occurrences. Tap a spelling to load it into find and replace.

  • 3 occurrences. Tap a spelling to load it into find and replace.

  • 2 occurrences. Tap a spelling to load it into find and replace.

  • 2 occurrences. Tap a spelling to load it into find and replace.

Find and replace

The fault that only shows when you read the whole file

Romanized Hindi and Roman Urdu have no standard spelling. Nothing decides between kya, kia and kyaa; between nahi, nahin and nahee; between accha, acha and achha. All of them are readable and none of them is wrong.

Which is why automatic captions produce all of them in one file. A draft picks whichever spelling best fits the audio at that moment, so the same word comes out written three ways across three minutes. Every cue looks fine on its own. Read end to end, the file looks careless, and it is the first thing a reader notices.

It is also close to invisible while you are editing, because you see one cue at a time. That is the whole reason for a tool: it reads the file as a file rather than as a sequence of cues.

How it decides two words are the same word

There is no dictionary to check against, because none of the spellings is wrong. So rather than asking whether a word is correct, the check asks whether two words look like attempts at the same word, by how few edits separate them.

The threshold scales with length, and that detail is what makes it usable. One edit in a three-letter word is a much bigger change than one edit in an eight-letter word, so short words are held to a tighter limit. It is what keeps hai and hua apart, two edits and genuinely different words, while grouping kya and kia, one edit and the same word.

English words are skipped entirely. English spelling is settled, so English has no variants to reconcile and comparing it only produces false pairs: there with their, same with some, bat with but. The cost is a miss on a romanized word that happens to be spelled like an English one, such as main or hum. That is the right way round. A false alarm on a correctly spelled word spends your attention for nothing, while a miss only leaves work undone.

Replace cannot desynchronise the file

Only the caption text is rewritten. Cue numbers, timestamps and cue settings pass through exactly as they arrived, so however many replacements you make, the timing is the timing you started with.

Whole-word matching is bounded on letters and combining marks rather than on the usual word-boundary marker, which is built around Latin letters and behaves unpredictably outside them. That makes whole-word replacement safe in Devanagari and Urdu script as well as in Roman.

Where this sits in the pass

Fix names and brands first, then spelling consistency here, then timing, then line lengths last, because changing wording changes line lengths and measuring earlier wastes the pass. The validator reports line lengths and reading speed, the line breaker re-breaks anything over the limit, and the timing shifter fixes captions that drift as a whole.

For the languages where this fault is most common, see the Hinglish caption generator and the Roman Urdu caption generator. To create captions from a video rather than fix an existing file, start in the caption generator.

Find, replace and spelling questions

What does the consistency check actually look for?

Words that look like attempts at the same word spelled differently. In a romanized caption file, kya, kia and kyaa are the same word, and so are nahi, nahin and nahee. The check groups them and shows how often each spelling appears, so you can pick one and make the file agree.

Why does it skip English words?

Because there is a right answer in English and no right answer in romanized Hindi or Urdu. Comparing English words only manufactures false pairs out of ordinary vocabulary, and a checker that cries wolf on correct words stops being read. The cost is missing a romanized word that happens to look English, which is the better failure of the two.

Can this break my timing?

It cannot. Timestamps are never part of what gets rewritten, so however many replacements you make, the file comes back on the timing it went in with. That is the reason to fix wording here rather than in an editor that re-renders the whole track.

Does whole-word matching work on non-Latin scripts?

Yes. The usual word-boundary marker in a regular expression is built around Latin letters and behaves unpredictably elsewhere, so this bounds matches on any letter or combining mark instead. That makes whole-word replacement safe in Devanagari, Urdu script and the rest.

Is this only useful for Hindi and Urdu?

The consistency check is aimed at languages written in Roman letters without a standard spelling, which is where the fault is common. Find and replace is useful in any language: fixing a name that recognition got wrong throughout a file, swapping a product term, or correcting one recurring mistake in one pass.

Does my file get uploaded?

No. Everything runs in your browser. The file is read locally so you can copy or download the result.