🔁

Find & Replace

Find and replace text across a whole document, with case-sensitive and regular expression modes. Instant, private, no upload.

✓ Free forever✓ No signup✓ 100% private — runs in your browser
Find & Replace
Find and replace text with support for plain text and regex patterns.
Text Input
Find
Replace With
Start typing to search…
Output

Find and replace is the fastest way to apply a consistent change across a body of text — renaming a term throughout a document, fixing a repeated typo, or reformatting an exported list. With regular expressions enabled it also handles patterns rather than fixed strings.

How to use the Find & Replace

  1. Paste your text into the input box
  2. Enter what to find and what to replace it with
  3. Enable case-sensitive or regex mode if you need them
  4. Replace, then copy the result

Case sensitivity, and the trap in it

A case-sensitive replace of color with colour leaves Color at the start of sentences untouched. A case-insensitive one catches it, but replaces it with lowercase colour, breaking the sentence.

For terms that appear both mid-sentence and capitalised, run two case-sensitive passes — one for each form — rather than a single case-insensitive one.

Using regular expressions

Regex mode matches patterns instead of literal text. A few that come up constantly:

  • \s+$ — trailing whitespace at the end of lines.
  • \n{3,} — runs of three or more blank lines, for collapsing to two.
  • \d{4}-\d{2}-\d{2} — ISO dates.
  • \((\d{3})\)\s*(\d{3})-(\d{4}) — US phone numbers, with capture groups you can reorder as $1$2$3.

Capture groups in the search pattern are referenced in the replacement as $1, $2 and so on, which is how you reformat rather than merely substitute.

Frequently asked questions

Can I undo a replacement?

Not within the tool — always keep the original text until you have checked the output. Replacing an empty search string, or an over-broad regex, can change far more than intended.

How do I delete text rather than replace it?

Leave the replacement field empty. Every match is removed.

Why is my regex not matching?

The most common causes are unescaped special characters — . * + ? ( ) [ ] { } | ^ $ \ all have meaning in regex and need a backslash to match literally. Test the pattern in the Regex Tester first.

Can I replace across line breaks?

Yes, in regex mode — use \n to match a newline. In plain text mode the search string is matched literally, including any line breaks you paste into it.