All Tools View Categories About Contact Privacy

Subtitle Find & Replace

Replace text across all subtitle cues.

Runs entirely in your browser — no data is uploaded or stored.

Enable regex for pattern swaps (e.g. strip trailing spaces with `\s+$`).

About this tool & how to use it
  • Plain-text or regex matching: Leave Treat find as regex unticked for a literal search where dots and brackets mean themselves, or tick it to use full regular expressions.
  • Global replacement across all cues: Every occurrence in every cue is substituted in a single run, not just the first match in the file or the first per line.
  • Timecodes protected: Only cue text is searched, so a pattern that would have wrecked the timing rows in a text editor cannot damage the structure here.
  • Empty Replace with is allowed: Leaving the replacement blank deletes every match, which is the quickest way to remove speaker labels, hearing-impaired tags or stray characters.
  • Safe failure on bad patterns: An invalid regular expression leaves the text untouched rather than throwing an error, so a typo in a pattern never mangles your file.
  • Guard against an empty search: If Find is blank the tool asks for a search term instead of running, preventing an accidental no-op or mass edit.
  • Whitespace and punctuation cleanup: Regex mode makes it straightforward to normalise double spaces, trailing spaces or inconsistent dash characters across a whole subtitle track.
  • Entirely browser-side: The subtitle text is processed locally, so scripts under NDA can be corrected without an upload.
  1. Click Load sample to put an example subtitle file into the SRT Content box if you want to test a pattern safely first.
  2. Paste your own subtitle file into the SRT Content box with its numbering and timing lines unchanged.
  3. Type the text you want to change into Find, matching case exactly, since the plain search is case-sensitive.
  4. Type the new text into Replace with, or leave it empty if the goal is to delete every match.
  5. Tick Treat find as regex only when you need a pattern rather than a literal string, for example \s+$ to trim trailing spaces.
  6. Press Run and read the output, checking a couple of the cues you expected to change and one you expected to leave alone.
  7. Click Copy or Download to save the corrected file as an .srt, and repeat the process for the next term you need to fix.

Example 1 - correcting a misheard name. Auto-captions transcribed a character as Anya throughout; Find is set to Anya and Replace with to Anja, regex left off.

Before:
8
00:02:04,120 --> 00:02:06,800
Anya, wait. Anya!

After:
8
00:02:04,120 --> 00:02:06,800
Anja, wait. Anja!

Both occurrences inside the same cue are replaced, and the same substitution is applied to every other cue in the file at once.

Example 2 - stripping speaker labels with regex. Ticking Treat find as regex and searching for ^[A-Z]+: with an empty Replace with turns NARRATOR: The river had risen. into The river had risen. across the whole track, which is a common step before delivering a clean dialogue-only file.

About Subtitle Find & Replace

Subtitle Find & Replace performs a bulk substitution across every cue of a SubRip file. Paste the subtitles into the SRT Content box, type the term into Find and its substitute into Replace with, optionally tick Treat find as regex, and the tool returns a complete SRT - downloadable as an .srt file - with the change applied everywhere and all timings intact.

Recurring text errors are unavoidable: a name spelled two ways, a product renamed after the transcript was written, a placeholder like SPEAKER1 that should be real. Translators, vendors adapting a file for a second market, creators fixing auto-caption mishearings and e-learning teams updating terminology all need one string changed in two hundred places without disturbing the timing structure.

Replacement touches cue text only, never the numbering or timecode lines - the key difference from a text editor, where a careless pattern corrupts timing rows. Plain mode matches literally and globally, so a full stop means a full stop. With Treat find as regex ticked the term compiles as a global expression, enabling patterns such as \s+$ to strip trailing whitespace; an invalid pattern simply leaves the text unchanged, and an empty Find returns a prompt.

The substitution runs in your browser with nothing uploaded, and very long files rewrite instantly.

Features

  • Plain-text or regex matching: Leave Treat find as regex unticked for a literal search where dots and brackets mean themselves, or tick it to use full regular expressions.
  • Global replacement across all cues: Every occurrence in every cue is substituted in a single run, not just the first match in the file or the first per line.
  • Timecodes protected: Only cue text is searched, so a pattern that would have wrecked the timing rows in a text editor cannot damage the structure here.
  • Empty Replace with is allowed: Leaving the replacement blank deletes every match, which is the quickest way to remove speaker labels, hearing-impaired tags or stray characters.
  • Safe failure on bad patterns: An invalid regular expression leaves the text untouched rather than throwing an error, so a typo in a pattern never mangles your file.
  • Guard against an empty search: If Find is blank the tool asks for a search term instead of running, preventing an accidental no-op or mass edit.
  • Whitespace and punctuation cleanup: Regex mode makes it straightforward to normalise double spaces, trailing spaces or inconsistent dash characters across a whole subtitle track.
  • Entirely browser-side: The subtitle text is processed locally, so scripts under NDA can be corrected without an upload.

How to Use

  1. Click Load sample to put an example subtitle file into the SRT Content box if you want to test a pattern safely first.
  2. Paste your own subtitle file into the SRT Content box with its numbering and timing lines unchanged.
  3. Type the text you want to change into Find, matching case exactly, since the plain search is case-sensitive.
  4. Type the new text into Replace with, or leave it empty if the goal is to delete every match.
  5. Tick Treat find as regex only when you need a pattern rather than a literal string, for example \s+$ to trim trailing spaces.
  6. Press Run and read the output, checking a couple of the cues you expected to change and one you expected to leave alone.
  7. Click Copy or Download to save the corrected file as an .srt, and repeat the process for the next term you need to fix.

Examples

Example 1 - correcting a misheard name. Auto-captions transcribed a character as Anya throughout; Find is set to Anya and Replace with to Anja, regex left off.

Before:
8
00:02:04,120 --> 00:02:06,800
Anya, wait. Anya!

After:
8
00:02:04,120 --> 00:02:06,800
Anja, wait. Anja!

Both occurrences inside the same cue are replaced, and the same substitution is applied to every other cue in the file at once.

Example 2 - stripping speaker labels with regex. Ticking Treat find as regex and searching for ^[A-Z]+: with an empty Replace with turns NARRATOR: The river had risen. into The river had risen. across the whole track, which is a common step before delivering a clean dialogue-only file.

Benefits

  • One correction, whole file fixed: A name or term that appears two hundred times is corrected in a single run, which is the difference between a minute of work and an afternoon.
  • No risk of breaking timing: Because only cue text is searched, you avoid the classic disaster of a text-editor replace that eats digits out of the timecode lines.
  • Consistent terminology for clients: Product names, place names and legal wording can be aligned to the approved glossary before delivery, which is exactly what localisation QC checks.
  • Cleaner accessibility tracks: Removing speaker prefixes or stray tags in bulk produces a caption file that reads properly for viewers using screen readers and caption displays.
  • Safe experimentation: An invalid pattern leaves the text alone instead of corrupting it, so you can try a regex without keeping a backup copy open.
  • Confidential edits stay local: Nothing is uploaded, so pre-release scripts can be corrected without sending them through a third-party service.

Frequently Asked Questions

Can I use regex?
Yes — enable the regex option to treat the find field as a regular expression.
Is replacement global?
Every match in every cue is replaced, not just the first.
Does it touch timing?
No, only the text content changes.
Is my file uploaded?
No, replacement runs locally.