Profanity Filter (Censor Words in Text)
Censor swear words and any words you list. Catches disguised spellings such as sh1t, $hit and spaced-out letters, and masks them with stars, symbols or [censored].
Automatic filters miss creative spellings and can hit innocent words or names; add those to “Never censor” and read the result before posting.
| Found | Shown as | Times |
|---|---|---|
| damn | d**n | 1 |
| crappy | c****y | 1 |
| cr@ppy | c****y | 1 |
| butler | b****r | 1 |
A quick way to clean up chat logs, user comments, subtitles or classroom material before sharing. The filter has a built-in list of common English swear words and slurs, and catches the usual disguises: numbers and symbols for letters (sh1t, $hit), stretched letters, letters split by spaces or dots, and a star in place of a vowel. Add your own words or phrases, such as names or spoilers, and choose how censored words are shown.
How to use this tool
- Paste the text.
- Keep the built-in list on, add any extra words or phrases to censor, and list words that must never be censored.
- Choose the mask: stars, first letter kept, first and last letter kept, symbols, [censored] or a word of your choice.
- Copy the censored text; the table shows each word that was hidden and how often.
Formula
Match = normalised word is on the list, or is a listed word plus an ending (-s, -ed, -ing, -er, -y)
Normalising lower-cases each character, removes accents and, with disguised spellings on, reads 0 1 3 4 5 7 8 9 @ $ ! as o i e a s t b g a s i; stretched letters are compared after squeezing repeats. Matching is whole-word by default to avoid the “Scunthorpe problem”, where innocent words contain a rude one; numbers are never read as words, so a room number like 455 is safe. The built-in list is stored encoded in the page and decoded in your browser, and nothing you type is sent anywhere.
Example
Take the sample text with # as the masking character and “keep first and last letter”: “This damn printer jammed again. What a crappy, cr@ppy day!” becomes “This d##n printer jammed again. What a c####y, c####y day!”. The disguised cr@ppy is caught because @ is read as a, and the custom word “butler” becomes “b####r”, so 4 words are censored in total.
Frequently asked questions
Why was an innocent word censored?
Some words have an ordinary meaning and a rude one, and names can match too. Add the word to “Never censor” and it is left alone everywhere in the text.
Can it censor words in other languages?
The built-in list is English only. Add words in any language to the custom box; matching works for every script, and accents are ignored when comparing.
Is the filter perfect?
No automatic filter is. People invent new spellings, and context decides whether a word is offensive. Use it to catch the obvious cases quickly, then read the result before you publish.
Last updated:
Page address with these inputs: https://kakao.mobile/tools/censor-words-in-text-tool/
Cite or embed this tool
kakaoCalc. (2026, November 8). Profanity Filter (Censor Words in Text). https://kakao.mobile/tools/censor-words-in-text-tool/
“Profanity Filter (Censor Words in Text).” kakaoCalc, 8 Nov. 2026, kakao.mobile/tools/censor-words-in-text-tool/.
Paste this code into your page. The widget runs in your visitors' browsers, shows no ads and keeps a link back to this page. Embedding terms