User Rating 0.0
Total Usage 0 times
Drop .txt file here
0 characters · 0 words
Custom Word Lists
Is this tool helpful?

Your feedback helps us improve.

About

Content moderation failures cost platforms users, advertisers, and legal standing. Manual review does not scale. A single missed slur in user-generated content can trigger regulatory action under frameworks like the EU Digital Services Act or COPPA. This tool scans input text against a multi-category profanity dictionary of over 300 terms, applies leetspeak normalization (mapping characters like @a, 0o, $s), and classifies each match by severity: Mild, Moderate, or Severe. A built-in whitelist reduces false positives on legitimate words containing partial matches. The tool approximates production-grade filtering but cannot replace contextual NLP analysis for sarcasm, coded language, or novel slang.

bad word filter profanity filter text cleaner content moderation swear word detector profanity checker text sanitizer

Formulas

Each detected word receives a weighted severity score. The overall text toxicity index T is computed as:

T = ni=1 wiW × 100

Where wi is the severity weight of the i-th flagged word: Mild = 1, Moderate = 3, Severe = 5. W is the total word count of the input text. n is the number of flagged words. A score of T < 1 indicates clean content. T 5 indicates high toxicity.

Leetspeak normalization applies a character mapping function m(c) before pattern matching:

m(c) =
{
a if c {@, 4}e if c {3}i if c {1, !}o if c {0}s if c {$, 5}c otherwise

Reference Data

CategorySeverityApprox. CountCommon ObfuscationFalse Positive Risk
General ProfanityModerate - Severe45Vowel substitution, asterisksLow
Slurs (Racial)Severe35Leetspeak, spacingMedium
Slurs (Gender/Sexual)Severe30Abbreviations, phoneticMedium
Sexual ContentModerate - Severe50Emoji substitution, acronymsHigh
Violence / ThreatsSevere25Misspelling, coded languageMedium
Drug ReferencesMild - Moderate20Slang evolutionHigh
Insults (Mild)Mild40RareLow
ScatologicalMild - Moderate20Vowel removalLow
Religious ProfanityMild15EuphemismsMedium
Homophobic SlursSevere20Abbreviation, leetspeakMedium
Body ShamingModerate15RareHigh
Ableist SlursModerate - Severe15AbbreviationHigh

Frequently Asked Questions

The filter only applies leetspeak normalization when a character sequence, after mapping, produces a match against the dictionary. Standalone numbers like "300" are not flagged because "300" normalized to "eoo" does not match any profanity pattern. The normalization is applied as a secondary pass after the literal text scan, and only on word-boundary-delimited tokens.
It should not. The tool uses RegExp word-boundary anchors (\b) to match whole words only. Additionally, a whitelist of over 80 common English words that contain partial profanity substrings (e.g., "scunthorpe", "cocktail", "therapist", 'bassist') is checked before flagging. If you encounter a false positive, add the word to your custom whitelist.
Three tiers: Mild (weight 1) covers minor insults and mild language, Moderate (weight 3) covers explicit profanity and sexual references, Severe (weight 5) covers slurs, hate speech, and threats. The toxicity index T is the sum of all flagged word weights divided by total word count, multiplied by 100. Custom words default to Moderate severity but can be assigned any tier.
The current implementation handles ASCII leetspeak substitutions and common Unicode confusables for Latin characters (e.g., Cyrillic "а" resembling Latin 'a'). Full Unicode homoglyph normalization (NFKD decomposition) is partially supported. For production environments handling adversarial input, server-side NLP with a Unicode normalization library is recommended.
Dictionary-based filters achieve approximately 85-92% recall on explicit profanity but struggle with context-dependent toxicity (sarcasm, dog-whistles, novel slang). ML classifiers like Perspective API reach 95%+ on contextual toxicity. This tool excels at known-term detection with zero latency and full offline capability. It is best used as a first-pass filter before contextual review.
Yes. The cleaned text can be copied to clipboard with one click. A full moderation report listing each flagged word, its position, category, and severity is displayed and can be printed via the browser print function. The print stylesheet hides UI controls and formats the report for A4 paper.