Text Censor

Mask or replace a custom list of words in any text — length-preserving mask, whole-word and ignore-case options — 100% in your browser, no upload

Censored text

🔒 Censored in your browser — your text and word list never leave your device.

Every listed word, masked to its length

Paste any text, keep or edit the built-in word list, and every listed word is masked wherever it appears. Each match is replaced by a mask character repeated to the word's length, so damn becomes **** while the surrounding spacing and punctuation stay intact. A short, mild default list is included and fully editable — add your own terms one per line or comma-separated, and delete any you don't need.

Whole-word and case controls

Turn on whole words only so listing ass never censors class or glass, or turn it off to match every substring. Ignore case masks DAMN, Damn and damn alike, and you can set any mask character you like. Words are matched literally — even regex characters are safe — and everything runs locally in your browser, so your text and blocklist never leave your device. To swap a single known phrase instead of a whole list, try find and replace.

Frequently asked questions

Does the mask keep the same length as each word?

Yes. Each matched word is replaced by your mask character repeated to the word's length, so "damn" becomes "****". The spacing and punctuation around it are left untouched.

Will it censor parts of innocent words like "class"?

Not while "whole words only" is on, which is the default — listing "ass" leaves "class" and "glass" alone. Switch it off if you deliberately want to match every substring.

Is my text uploaded anywhere?

No. All matching and masking happens in your browser with JavaScript. Your text and word list are never sent, stored, or uploaded.