.SRT.VTT

Subtitle Find & Replace

Find and replace text across every cue in an SRT or WebVTT file. Literal text by default, optional pattern mode with group inserts, whole-word and case toggles, and a before-and-after preview of every cue it touches.

100% In-Browser · Zero Upload
Zero latency · Client-side Web Worker

Drop your SRT or WebVTT file to search inside it

Dialogue text only. Timecodes and cue numbers stay exactly as they are

Editing Fifty Cues Without Opening Fifty Cues

A character is renamed late in the edit, a recurring line was mistranslated, a studio name is spelled three different ways across a feature. Fixing that by hand means scrolling a file that may hold thousands of cues and trusting your eyes not to miss one. A find and replace across all cue text turns it into one verifiable pass: the tool lists every cue containing the search, shows what each becomes, and only then produces the edited file.

Literal First, Patterns When You Ask

The search is treated as ordinary text until you say otherwise. That is deliberate: subtitle dialogue is full of brackets, dashes and dots that pattern syntax would swallow, and the visitor who types (net) almost always means those five characters. When you do want a pattern, ticking the box gives you standard JavaScript syntax with$1 to $9 for capture groups and $& for the whole match, which covers the renumbering and re-prefixing jobs that come up in translated files.

What It Will Not Do

  • It will not touch timing. The file is re-emitted from the parsed cues, so start times, end times and order cannot drift even in principle.
  • It will not edit silently. Every change is listed as a before and an after before the download exists, and a search with no matches says so plainly.
  • It will not guess. Case-sensitive by default, literal by default, and an empty replacement is a no-op unless you explicitly ask for removal.

Frequently Asked Questions

Is the search literal text or a regular expression?
Literal text by default. Subtitle dialogue is full of characters that regular expressions treat specially, so a search for "(net)" finds those exact characters. Tick the expression box when you genuinely want pattern matching, such as Scene (\d+) to find every numbered scene.
What do $1 and $& mean in the replacement?
In expression mode, $1 through $9 insert the capture groups and $& inserts the whole match. So finding "Scene (\d+)" and replacing with "Chapter $1" renumbers every scene cue in one pass. Any other dollar sequence is left exactly as you typed it.
Can I delete every occurrence instead of replacing it?
Yes. Leave the replacement field empty and tick "remove matches", which deletes them. Without that tick an empty replacement field is ignored, because an invisible no-op is indistinguishable from a broken tool.
Why did my search change nothing?
Search is case-sensitive by default because character names are. If "mira" finds nothing but "Mira" is in the file, tick case-insensitive. Whole-word mode also refuses to match inside a longer word, so "cat" will not touch "scattered".
Are timecodes and cue numbering preserved?
Yes. The tool rewrites dialogue text only. Start times, end times, cue order and cue numbers are re-emitted exactly as they were read, so the edited file drops straight back into your editor.
Are my subtitles uploaded anywhere?
No. The file is edited in your browser. There is no upload and no account, the same promise every tool on this site keeps.