Find and Replace (Online)
Literal find and replace - deliberately not regex, so a pattern can never hang your browser and what you type means itself.
Paste your text, then type what to find and what to put in its place. The match is LITERAL - every character means itself, including dots, brackets and asterisks.
Every character means itself. A dot is a dot, not "any character".
Leave empty to DELETE every occurrence.
Result
Every occurrence replaced.
The cost is 3.15 per unit. The cost is 3.15 per unit. Subtotal: 3.15 x 100
If you deleted it instead
What an empty replacement would give. Worth a look before committing to one.
The cost is per unit. The cost is per unit. Subtotal: x 100
Result, then tidied
Lines trimmed and blanks dropped — the usual follow-up when a replacement leaves gaps.
The cost is 3.15 per unit. The cost is 3.15 per unit. Subtotal: 3.15 x 100
Characters before
The pair of counts tells you how much actually changed.
74
Characters after
If this equals the count above, either nothing matched or your replacement is the same length.
74
Lines in the result
Compare against your original if you were deleting whole lines.
3
About this tool
Find and Replace Without RegexSearch for 3.14 and you get 3.14 — not 3x14. Every character means itself, which is both what you wanted and the reason it can't hang your browser.
Free download
Bulk Edit ChecklistA find-and-replace across a whole document is not reversible once you have pasted the result somewhere. Two minutes here saves the alternative.
Free, no email required — print it or save it as a PDF.
Share it
Find and Replace (Online) infographicThe key numbers as one image — free to save, share, or embed on your own site with credit.
How this works
This replaces every occurrence of an exact string with another exact string. Nothing is interpreted. ⚠️ IT IS NOT A REGULAR EXPRESSION, AND THAT IS THE POINT. A dot matches a dot. An asterisk matches an asterisk. Brackets, plus signs, question marks and backslashes all mean themselves. If you have ever searched for '3.14' in a regex tool and matched '3x14', this is the tool that does not do that. THE SECURITY REASON: a user-supplied regular expression can be made to backtrack catastrophically, taking exponential time on a short input. This runs in YOUR browser, so that would be a denial of service against the person using the tool. A literal search cannot do it - the work is bounded by the length of the text, always. EVERY OCCURRENCE IS REPLACED. There is no 'replace first' or 'replace next'. If you only want one of them, a text editor is the right tool - it has a cursor, and this shows you a whole transformed document at once. IT IS CASE-SENSITIVE. 'Cat' does not match 'cat'. That is usually what you want when replacing code, identifiers or names, and occasionally frustrating in prose. There is no case-insensitive option, because a case-insensitive replacement has to decide what capitalisation to write back - and that is a judgement about your content rather than something a tool can settle. ⚠️ AN EMPTY REPLACEMENT DELETES. Leaving the replacement box blank removes every occurrence of what you searched for. That is genuinely useful for stripping something out, and it is also the easiest way here to do more damage than you intended - which is why the character counts are shown before and after. ⚠️ AN EMPTY SEARCH BOX DOES NOTHING, deliberately. An empty needle would match between every character and insert the replacement in all of those gaps, which is never what anyone means. ORDER MATTERS IF YOU RUN SEVERAL REPLACEMENTS. Replacing A with B and then B with C turns your original As into Cs as well, which is rarely what anyone intended and easy to miss because each individual step is correct. If any replacement could produce text a later replacement searches for, route it through a placeholder that appears nowhere else in the document. The trimmed and blank-line-removed output is here because 'replace and then tidy' is such a common pair of steps, particularly when a deletion leaves empty lines behind.
Common questions
- Why isn't this a regex tool?
- Two reasons, and the second is decisive. First, a literal search is what most people actually want - if you search for 3.14 you mean 3.14, not 3 followed by any character followed by 14. Second: a user-supplied regular expression can be crafted to backtrack catastrophically, taking exponential time on a short input. Because this runs in your own browser, that would be a denial of service against you. A literal search is always bounded by the length of the text, so it cannot hang the page.
- How do I know if it matched anything?
- Compare the two character counts. If the number of characters before and after is identical, either nothing matched or your replacement happens to be exactly the same length as your search - so read the result as well. This is the check worth doing before you copy anything out, particularly when deleting: a replacement that silently matched nothing looks exactly like one that worked, and the difference only surfaces later.
- Can it replace just the first occurrence?
- No - every occurrence is replaced, always. There is no replace-first or replace-next, because a tool that shows you a whole transformed document at once cannot meaningfully offer a cursor. If you need to change one instance out of many, a text editor is genuinely better at that job. What this is good at is the change you want applied everywhere at once.
- Is it case-sensitive?
- Yes. 'Cat' will not match 'cat'. That is what you want when replacing identifiers, code or names, and occasionally frustrating in prose. There is deliberately no case-insensitive option, because a case-insensitive replacement has to decide what capitalisation to write back into the text - and that is a judgement about your content that a tool cannot make. Run it twice with the two capitalisations if you need both.
- What happens if I leave a box empty?
- They do opposite things, and both are deliberate. An empty REPLACEMENT deletes every occurrence of what you searched for - useful for stripping something out, and the easiest way here to do more damage than you meant to. An empty SEARCH box does nothing at all, because an empty needle would match between every character and insert your replacement in all of those gaps, which nobody ever wants. The 'if you deleted it instead' output shows you the deletion result whether or not you asked for it, so you can see the consequence before choosing it.
- I need to make several replacements in a row.
- Then check whether they interfere. Replacing A with B and then B with C turns your original As into Cs as well, which is almost never intended and very easy to miss because each individual step is correct. If any output of one step could be the input of another, use a temporary placeholder that appears nowhere in your text - something like ZZPLACEHOLDERZZ - as an intermediate. Chained replacements failing this way is one of the classic ways a bulk edit goes quietly wrong.
Last updated
Get the next tool.
New tools and guides straight to your inbox. No spam, ever.
Part of a bigger job
How to Clean Up a Messy ListSix text tools, one order — trim before you de-duplicate, because "apple" and "apple " are two different things to every computer that has ever existed.
Walks through all 6 text tools in order.