Find & Replace
Find and replace text with optional regex and case sensitivity.
This tool runs entirely in your browser. Your data is never uploaded, never stored, and never leaves your device.
Substitutes text wherever it appears: rewrites every occurrence of a string or pattern inside a block and reports how many replacements it made, with optional case sensitivity, whole-word matching and full regular expressions.
How to use it
- 1Paste the text, then type what to look for in the Find box.
- 2Type the replacement — the result and the "n replacements made" counter update as you type, with no button to press.
- 3Tick Case sensitive, Whole word or Use regular expression to narrow what counts as a match.
Example
- Input
- cat catalogue — Find "cat", Replace with "dog", Whole word ticked
- Output
- dog catalogue
Whole word wraps your search in word boundaries, so the cat inside catalogue is left alone and the counter reads 1 replacement. The Replace box, though, is handed straight to String.replace, so the dollar patterns keep their special meaning even with regex off — replacing with $& re-inserts whatever was matched instead of typing two literal characters.
What happens to your data
Replacement runs on every keystroke rather than on a button, so the output box is always a fresh derivation of the two boxes above it and no intermediate result is ever held. Nothing is written to storage: the search term, the replacement and the source text all go when the tab does.
Last updated August 2026
A name changed in forty places. A placeholder hostname in a config block that has to become the real one. A client's name spelled two ways through a document you are about to send. Doing that by hand is where typos come from — you catch thirty-eight and miss two.
Decide first whether you are after a literal string or a pattern, because it changes what you type. With Use regular expression left unticked, every character in the Find box is escaped before the search runs, so a full stop stays a full stop and a dollar sign stays a dollar sign — paste a price, a URL or a line of code and it is matched exactly as written. Tick the box and those same characters become operators instead, which is what you want for a run of digits and a trap for everything else.
Two defaults matter before your first attempt. The search ignores case unless you tick Case sensitive, so looking for id will also take the Id in a heading. And it is always global — every match in the box is replaced, with no option to change one occurrence and leave the next. Where you need one edit rather than all of them, do it in an editor.
The usual mistake is replacing a short word without ticking Whole word, and noticing only later that it was sitting inside longer words as well. The replacement count beside the result is the check: if it reads higher than you expected, that is normally why. Keep the original somewhere too, because there is no undo.
How it works
Toolvore builds a single regular expression from what you have typed and runs it over the text inside your browser. With the regex box unticked, the search term is escaped character by character first so that it can only match itself; with Whole word ticked, whatever pattern resulted is then wrapped in word boundaries. The flags are always global, and case-insensitive unless you tick otherwise, which is why the counter reports every match rather than previewing a first hit. The weak points follow from that construction. No multiline flag is set, so the anchors match the start and end of the whole box rather than each line, and a full stop will not cross a line break. Word boundaries are ASCII-based, which makes Whole word unreliable on accented words. And a pattern that cannot compile shows the browser's own error text and blanks the result instead of applying half of it — an honest failure, but not an explanation of what you got wrong.
Common use cases
- Swapping a placeholder domain for the real one across a config block
- Fixing a client's name that appears spelled two ways in a draft
- Renaming a variable through a snippet before pasting it back
- Stripping a tracking parameter off a pasted list of URLs
- Clearing stray double spaces out of text copied from a PDF
- Changing American spellings to British ones before sending a document
- Counting how often a phrase appears by typing it and reading the counter
Frequently asked questions
When should I use a regular expression instead of a plain search?+
Use a plain search whenever you know the exact characters you want gone, which is most of the time. With the regex box unticked, the search term is escaped before it is compiled, so punctuation is taken literally and nothing you paste can misfire. Reach for a pattern when the thing you are matching varies: a number of any length, whitespace of unknown width, one of several spellings. The cost is that punctuation now means something — a full stop matches any character, brackets group, and a stray one of either breaks the pattern outright. If all you need is a fixed string, the plain search is not the lesser option, it is the safer one.
Why does replacing a short word break other words?+
Because a search matches characters rather than words, so replacing is with was rewrites this into thwas and history into hwastory. Ticking Whole word fixes it by requiring a word boundary on each side of your term, meaning the match has to start and end where letters, digits or underscores meet something else. Two limits are worth knowing. Boundaries are drawn around ASCII characters only, so a word ending in an accented letter may fail to match at all with the box ticked. And hyphens and apostrophes count as boundaries rather than as part of a word, so a whole-word search for well still matches inside well-known.
How do I keep the original capitalisation when replacing?+
You cannot, and this is the trap hiding inside a case-insensitive search. The replacement is written out exactly as you typed it, so a search for colour that catches Colour at the start of a sentence puts a lower-case colour there and leaves the sentence starting oddly. The fix is two passes with Case sensitive ticked: replace Colour with Color first, then colour with color. Where the word also appears in a heading set in capitals, that is a third pass. It is tedious, and it is still quicker than reading the whole document afterwards to find which occurrences the machine quietly mangled.
How do I put the text I matched into the replacement?+
The replacement understands the dollar patterns that JavaScript uses. With a pattern such as a bracketed run of digits followed by items, and the regex box ticked, writing $1 in the replacement drops the number you captured back in — so you can rearrange text rather than only overwrite it. Numbered groups run $1 to $9, in the order their opening brackets appear. This is also why a replacement containing a real dollar sign needs care: to end up with one literal dollar in the output, type two. If you want an amount to read as currency rather than as a reference to a group, that doubling is the whole fix.
Can I find or replace a line break?+
Finding one, yes; inserting one, no. The Find box is a single-line field, so pressing Enter in it does nothing — to search across a break, tick Use regular expression and type a backslash followed by n, which the pattern reads as a newline. That also lets you collapse blank lines or catch a phrase that wraps. The Replace box has the same single-line limit, and its contents are taken as text, so the same two characters typed there leave a backslash and an n sitting in your output. Splitting one line into two is the thing this cannot do; an editor or a spreadsheet import is the right tool for that.
Where does my text go when I use an online find and replace?+
Here, nowhere. The result is computed inside the page from the three boxes on it, in the same tick as your keystroke, and there is no request to carry it anywhere. That matters more than it sounds, because the text people run a find and replace over tends to be a contract with the wrong party name in it, a config file full of hostnames, or an export with customer records. Nothing is saved either — no history of past searches, no draft kept for next time — so closing the tab is the entire cleanup, and reopening the page gives you empty boxes rather than yesterday's work.
Why does it say 0 replacements when the word is clearly there?+
Almost always because the characters are not the ones you think. Text copied out of a PDF or a word processor carries curly quotation marks, non-breaking spaces and the occasional soft hyphen, none of which match the straight equivalents you type on a keyboard. A trailing space left in the Find box counts too. Copy the term straight out of your own text rather than retyping it and most of these vanish. The other common cause is the regex box still ticked from an earlier attempt, where a term containing a full stop, a bracket or a plus sign is read as a pattern and hunts for something else entirely.
How do I undo a find and replace that went wrong?+
There is no undo, so the answer is a habit rather than a button. The result appears in its own read-only box while the text you pasted stays where it was, which means a bad replacement costs you the copy rather than the source — go back to the top box, fix the search term and read the new result. What does not survive that is pasting a result back over your source to run a second pass, which is where people actually lose work. Test on one paragraph before running anything over a whole document, and keep the untouched version in a file until you are satisfied with the output.
Used in these workflows
Related tools
Whitespace Cleaner
Remove line breaks, extra spaces, and tabs from text.
Word Frequency Counter
See which words appear most often in your text.
Remove Accents
Strip diacritics from text — turn café into cafe.
Stopwatch & Countdown Timer
A stopwatch with laps and a countdown timer with alarm.