Find and Replace in Text

Replace every occurrence of a word or phrase in pasted text, with match counts, whole-word mode and optional patterns.

0
matches found

Free forever, no sign-up and no limits, and this tool installs on its own so you can keep it on your home screen.

Replace every occurrence of a word or phrase in one pass, with every match highlighted in context before you commit and the match count as the headline. Whole-word mode stops 'cat' from mauling 'category', and a regex mode with capture groups is there when you need patterns.

How to use it

  1. Paste the textThe document, list or snippet you want to change.
  2. Type find and replaceBoth fields are literal unless you switch on regex, so dots, dollars and brackets mean themselves.
  3. Check the highlights, copyEvery match is shown highlighted in context, with the count, before you take the result.

Bulk edits without opening an editor

Find-and-replace lives inside every serious editor, and yet the need constantly arrives away from one: a phone, someone else's machine, a text sitting in a web form. Renaming a product across a description, fixing a repeated typo, swapping placeholder names in a template, stripping a tracking suffix from a pasted list of links, thirty-second jobs that only need a box to do them in.

This page is that box, with the three safeties that matter: every match highlighted in context before you replace, a live count of what will change, and whole-word matching so a short search term cannot chew through longer words that contain it.

Literal by default, patterns on request

Power-user replace tools interpret dots, dollars, brackets and backslashes as pattern syntax. That is exactly right in a code editor and exactly wrong in a paste-in tool, where the find text is usually a URL, a price or a filename full of those characters. Here, everything is literal until you say otherwise: what you type is what is found, character for character, and the replacement is inserted untouched. The predictability is the feature.

When you do need patterns, the Regular expression toggle turns the find box into a real regex field with capture groups: $1 and $2 in the replacement insert whatever the first and second bracketed group matched, which is how you swap name orders or reformat dates in one pass. A pattern that does not parse gets a plain explanation, not a broken result.

Questions people ask

Why does the count matter?

Because silent replacement is how mistakes ship. Expecting 3 changes and seeing 47 means your search term is broader than you thought, the count turns that from a discovery in production into a glance.

What does whole-words-only do?

It requires the match to stand alone: replacing cat with dog no longer turns category into dogegory. This is the single most common find-and-replace accident, which is why the option sits right under the fields.

Is matching case-sensitive?

Not by default. Email, email and EMAIL all match. Tick Match case when capitalisation is the point, like renaming a code identifier.

Can I use regular expressions?

Yes, tick Regular expression and the pattern runs exactly as written, capture groups included: find (\d+)-(\d+) and replace with $2-$1 to swap two numbers. If the pattern is not valid yet, the tool says so in plain words and leaves your text untouched. With the box unticked, every character is literal, so pasting a URL or a price just works.

What does the highlighted preview show?

Your original text with every match marked, before anything is replaced. Expecting 3 highlights and seeing 47 means the search term is broader than you thought, and you find that out by looking, not by undoing.

Can I replace with nothing?

Yes, leave the replace field empty and matches are deleted. Removing a repeated boilerplate phrase from a document is the classic use.

Does it change my original text?

No. What you pasted stays in the input box and the result appears in its own box below, so you can adjust the search term and try again without pasting the document a second time. When a change is right, the button that feeds the result back into the input lets you run the next replacement on top of it.