Find and Replace

Files & data

Replace text literally or by pattern, with a preview first.

Result
The rate is 5% for 2026. The rate is 5% for 2026. See the 2026 schedule.
2 replaced
Replaced2
Characters72
What will change
line 12025 → 2026
line 32025 → 2026

How to use

What it's for

Change every copy of a word or phrase in a block of text at once — a year, a name, a price — and see each change before you use it.

Before you start

Have the text ready to paste, and know exactly what to look for and what to put in its place. Everything happens in your browser.

  1. Paste your text

    Paste the text into the Text box. It holds a short example to start with; replace it with yours.

  2. Say what to find and what to put instead

    Type what to look for in Find and the new wording in Replace with. Leave Replace with empty to delete every match.

  3. Set the three options

    Match case is on, so searching for "May" leaves "may" alone; untick it if capitals should not matter. Tick Whole words only so "cat" does not change "category". Leave Treat Find as a pattern off unless you write regular expressions, so a dot, a bracket or a $ is searched for exactly as typed.

  4. Check each change

    Press Replace to bring the result into view; it also updates as you type. Read the What will change list, which shows each match by line number and what it becomes.

  5. Copy the new text

    Press Copy at the top of the Result to take the whole changed text.

Reading the result

  • Result: your whole text with every match changed.
  • Replaced: how many matches were changed. Characters is the length of the new text.
  • What will change: one line per match — the line it is on, what was found and what it becomes, or (removed) when you are deleting.

If it goes wrong

  • A note says Nothing found: check the spelling and spaces, and untick Match case if the difference is capitals.
  • Whole words only seems to do nothing: it cannot work at the edge of a term that starts or ends with punctuation, such as (draft). Untick it for those.
  • A $ in Replace with comes out exactly as typed, which is what you want for a price. If you meant $1 to put back a group, tick Treat Find as a pattern.

What this is

Literal is the default, and that is the whole difference from the Regex Tester. Somebody searching for a.b means a.b — not axb. A tool that quietly treats your search as a pattern does something surprising the first time punctuation is involved.

There is one trap almost nobody knows about: a $ in the REPLACEMENT. String.replace reads $& and $1 in the replacement even when the search was plain text — so replacing a price with "$5" inserts the matched text instead. In literal mode the replacement is escaped too, which almost no find-and-replace tool on the web does.

And the preview is the point. A replace with no preview is a destructive operation performed blind.

Questions

Will it treat my search as a pattern?

Not unless you ask it to. Searching for a.b finds a.b and not axb; searching for $5.00 or (draft) or c:\path finds exactly those. Most people wanting to replace something want to replace that exact thing, and a tool that quietly treats the input as a regular expression does something surprising the first time punctuation is involved.

Why did replacing with $5.00 insert the wrong thing somewhere else?

It should not here, and this is the trap worth knowing about. JavaScript’s replace reads $& , $1 and a couple of other sequences inside the REPLACEMENT string, even when the search was a plain string — so replacing with “$5” can insert the matched text instead of a price. This page escapes the replacement in literal mode, which almost no find-and-replace tool on the web does. Switch to pattern mode if you actually meant $1 as a group reference.

Why does “whole words only” do nothing for my search?

Because whole word puts \b around the term, and \b sits between a word character and a non-word one. If your term itself begins or ends with punctuation — (draft), -5, a trailing comma — there is no boundary there to anchor to. That is what \b means rather than a fault in this page, and it says so when it sees that case.

Can I see what will change before it changes?

That is the point of the preview. Every match is listed with its line number and what it will become, before you copy anything out. A replace with no preview is a destructive operation performed blind.

How do I delete something?

Leave the replacement empty. Every match is removed and the preview shows each one marked as removed rather than silently vanishing.

Is my text sent anywhere?

No. Everything happens in your browser and nothing is transmitted or stored.

The maths

The dollar trap
Find "price", replace with "$5.00"
Most tools: price → price5.00
Here, in literal mode
price → $5.00

$& means "the matched text". Doubling every $ is the whole fix.

Why whole word does nothing sometimes

It puts \b at each end, and \b sits between a word character and a non-word one. If the term itself begins or ends with punctuation, there is no boundary there to anchor to. That is the definition, not a fault.

Keep going

Important

Runs entirely in your browser; nothing is transmitted. Literal mode escapes both the search and the replacement, so a $ or a bracket means itself — switch to pattern mode deliberately when you want them to mean something else. Nothing you type here is sent to our servers — the calculation runs entirely in your browser.