Find & Replace

Find and replace text instantly with case-sensitive, whole-word, and regex options.

Find & Replace
Find
Replace with

📐 How to Use

  1. Paste your text into the input box.
  2. Type the text (or pattern) you want to find, and what to replace it with.
  3. Toggle Case-sensitive, Whole word, or Regex as needed.
  4. Click Replace All to apply changes — the match count is shown, and the result can be copied.

🎯 When to Use This

  • Renaming a product or a client throughout a document happens in one pass, with Whole word on so the term is not matched inside longer words.
  • Cleaning scraped text of stray markers such as doubled spaces or pipe characters takes a single regex rather than repeated manual edits.
  • Reordering a column with capture groups turns Surname, Forename into Forename Surname across hundreds of lines at once.
  • Stripping tracking parameters off a long list of URLs is faster in regex mode than editing each address by hand.

❓ Frequently Asked Questions

QCan I use regular expressions?
Yes — enable the Regex toggle and enter a valid JavaScript regular expression pattern in the Find field. You can reference capture groups in the Replace field using $1, $2, and so on.
QWhat does "Whole word" do?
When enabled, only matches that are surrounded by word boundaries are replaced — so searching for "cat" won't match inside "category".
QIs my text sent to a server?
No. All find-and-replace processing happens locally in your browser. Nothing is uploaded anywhere.

ℹ️ About This Tool

Find and replace is a regular-expression operation whether or not you ask for one, because a literal search is the same engine with metacharacters escaped. Two things surprise people. The replacement string has its own syntax, where a dollar sign introduces a reference rather than standing for itself. And whole-word matching depends on where the engine thinks a word ends, which is narrower than it sounds.

Searches compile to a JavaScript RegExp with the global flag, and in literal mode the characters . * + ? ^ $ { } ( ) | [ ] and backslash are escaped first. Case-sensitive is off by default, so the ignore-case flag is added unless you check it, and Whole word wraps the pattern in word-boundary assertions. Replacement runs through String.replace, so group references expand. The count is taken before replacing, the original stays in the input box, and nothing leaves the browser.

⚠️ Notes & Limits

  • Case-sensitive is unchecked by default, so a search for cat also matches CAT until you tick the box; check it whenever capitalization distinguishes terms.
  • Whole word relies on \b, which counts only ASCII letters, digits and underscore as word characters, so it misbehaves around accented words such as café.
  • A dollar sign is special in the replacement field, where $1 inserts a capture group and $& the whole match, so a literal dollar must be written as $$.
  • The pattern compiles without the multiline and dotall flags, so ^ and $ anchor to the entire text rather than each line and a dot never matches a newline.