Text replacer
Replace exact text without regex surprises. Dollars, brackets, slashes, and dots mean themselves.
- SECURE
- NO UPLOADS
- NO SIGNUP
- BROWSER BASED
- FREE
- FOREVER.
Support us with a link or a share
Need patterns or capture groups? Use the regular expression tester.
A literal text replacer means the characters mean themselves
Paste or open source text, enter the exact text to find, and enter what should replace it. Dots do not mean any character. Brackets do not open a class. A question mark is punctuation, a backslash is a backslash, and a dollar sign in the replacement is inserted as a dollar sign. The route is deliberately literal so a plain editing job cannot become a programming language by accident.
If the task needs a pattern, capture groups, lookarounds, or replacement tokens such as
$1, use the Regex Tester. It runs JavaScript's real
RegExp engine and exposes that syntax explicitly. Keeping regex out of this page is the
product boundary, not a missing advanced mode.
Matches proceed left to right without overlap
Replace-all scans from the beginning. Once a match is accepted, its characters are consumed
and the next search begins after them. A source character is never part of two replacements.
That makes results deterministic for repeated patterns: searching for ana in
banana replaces the first matching span, not two overlapping spans that share
the middle letters.
Case-sensitive matching is the default because it changes only exact text. Case-insensitive matching is an explicit option. In whole-word mode, a match cannot have a Unicode Letter, Number, or underscore immediately beside it. That explicit rule handles accented words and scripts outside English without an ASCII-only regex boundary or browser-dependent language segmentation. The match count updates before copy or download, making a surprisingly broad replacement visible while the source is still untouched.
Source and result remain separate
The source is never overwritten by its result. Change the needle, replacement, case option, or whole-word option and the next result is calculated from the same original text. An empty needle produces no output and explains why; treating the gap between every character as a match would create an enormous, rarely intended result.
Long output may be clipped in the on-page preview so thousands of replacements do not build an enormous document. Copy and download still use the complete result. To inspect exactly what changed before using it, open the source and result in the text comparison tool. It preserves the review step instead of asking you to trust a count.
Replacement is not text cleanup
The Text Cleaner diagnoses and optionally normalizes selected classes of line breaks, whitespace, invisible characters, and punctuation. It is useful when the problem is “this pasted text is messy.” Text Replacer answers “change this exact sequence to that exact sequence.” It does not straighten quotes, remove zero-width characters, fix spelling, normalize Unicode, or infer variants you did not specify.
It also does not deduplicate or reorder lines. Those operations change collection structure rather than matching a literal span, so Remove Duplicate Lines remains a separate job. If all you need is to inspect source length before a large edit, the Character Counter reports graphemes, words, lines, code points, and bytes without transforming anything.
Your text stays in this browser tab
Typing, paste, and a local text file enter the same matcher. Source, needle, replacement, and result are not written into the URL or browser storage and are not sent to a server. That matters because find-and-replace sources are often customer exports, unpublished copy, logs, or configuration. Large files receive memory advice and local Worker processing without an arbitrary upload limit, because there is no upload path. The local-processing guide explains how to verify that boundary directly.
Questions
Does the find field use regular expressions?
No. Every character is literal, including dots, brackets, question marks, backslashes and dollar signs. Use Regex Tester when the job genuinely needs a JavaScript pattern or capture groups.
Does $& or $1 mean anything in the replacement?
No. Dollar signs and the text after them are inserted exactly as written. This is deliberate: replacement tokens belong to regex replacement and should not surprise a literal-text job.
Can matches overlap?
No. Matching proceeds from left to right and each accepted match consumes its characters before the search continues. That is the standard deterministic behavior for replace-all and prevents one character from being replaced twice.
What does whole word mean for Unicode text?
A match cannot have a Unicode Letter, Number or underscore immediately beside it. That explicit boundary handles accented letters and scripts beyond English without the ASCII-only regex word rule or browser-dependent language segmentation.
Is my text uploaded or stored?
No. File reading, matching and output assembly happen in this tab. Source text is not written into the URL, browser storage or a server log.