Find and replace text
Swap every occurrence of a word or phrase, with a marked preview.
Type what to look for. Every character is taken literally, so . * $ and ( are searched for as themselves, not as a pattern. Capital letters have to match exactly. The result shows what changed; Copy result copies the clean text. Up to 200,000 characters.
Result
Start typing and the result appears here. No button needed.
Find and replace text, without the extra steps.
Replace a word or phrase everywhere it appears in pasted text, and see exactly what changed before you copy anything. Matching is plain text, so punctuation and symbols are searched for literally. Choose whether capital letters have to match and whether only whole words count, and the result marks every replacement it made.
How to use this tool
- 1Paste the text, then type what to find and what to replace it with.
- 2Choose whether capitals must match and whether only whole words count. The result updates as you type.
- 3Read the marked preview — struck-through text is what went, highlighted text is what arrived — then select Copy result.
When Find and replace text is the right tool
- A client's product name changed and the draft mentions the old one fourteen times, including inside sentences you would rather not re-read one by one.
- A config snippet has a placeholder domain that must become the real one everywhere, and a missed occurrence would be a broken deploy rather than a typo.
- An exported CSV uses a spelling your system rejects, and you need the corrected text back without opening a spreadsheet.
- A word has to be removed entirely rather than replaced, and you need to see which occurrences went before trusting the result.
Plain text, on purpose
Every character you type is searched for as itself. A price of $1.00, a path like ./build/*, or a snippet containing (a|b) finds exactly that string, where a regular-expression tool would read half of it as syntax and either fail or match something unexpected. That removes the most common way a bulk replacement goes wrong. It also means there are no capture groups or backreferences: the replacement is inserted exactly as typed, the same way at every match.
Whole words are what stop cat becoming dogalogue
Replacing cat with dog turns catalogue into dogalogue, because by default a match anywhere in the text counts. Whole words only requires a non-letter, non-digit on both sides, so cat matches on its own and inside cat's but not inside catalogue. The boundary understands accented letters and other scripts, not just A to Z. Choose Anywhere when you are replacing a fragment such as a domain or a file extension, and Whole words only when you are replacing a name.
One pass over your original text
Matches are found in the text you pasted, and every replacement is written into a fresh copy. Replacing cat with cat and dog therefore produces cat and dog once, not a runaway expansion, and replacing a with aa gives aa rather than growing without end. It also means overlapping matches resolve left to right: the first match wins and the search continues after it, so the count in the summary is exactly the number of replacements made.
A few quick answers.
No, and that is deliberate. Every character you type is searched for literally, so pasting a price, a path, or a snippet with . * $ ( ) in it finds exactly that string rather than being read as a pattern. If you need pattern matching, use your editor; this tool is for the far more common case of swapping a known word or phrase.
Leave Replace with empty. Each match is removed and the summary reports how many were deleted rather than replaced. The preview still marks what went, so you can check that you are not deleting something that appears inside a longer word — switch Match to Whole words only if you are.
The result panel shows the replacement in place: struck-through text is what was removed and highlighted text is what replaced it, so you can inspect the change before trusting it. Copy result copies the clean replaced text without any of that markup.
Usually capital letters. With Match case selected, Product and product are different strings. The workspace checks for you: when nothing matches it says how many matches would exist if you ignored capitals, matched anywhere instead of whole words, or both — so the fix is one switch rather than guesswork.
No. The find field is a single line, so a search term cannot contain a line break. Join the wrapped text first with Remove line breaks if the phrase you want is split across lines, then replace it here. Line breaks inside the pasted text itself are preserved exactly, including CRLF.
No. The replacement is inserted exactly as you typed it, at every match. With Ignore case selected, both Product and product are found, and both become whatever you typed in Replace with. If you need each match to keep its own capitalisation, run the two cases as two separate replacements.