Find and Replace

[ 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 120252026
line 320252026
[ 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.

[ NEXT ]
53Regex TesterWork the pattern out first
50Line ToolsReorder rather than rewrite
48Text ComparisonCheck what actually changed
49Text Case ConverterChange the case instead
[ 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.