Reads through the dodges.
Leetspeak, symbols in place of letters, stretched and spelled-out words are all read as the word underneath.
sh1tcaughtsh!tcaughtf*ckcaughtfuuuuckcaughtf.u.c.kcaughtFUCKcaught
Open source · MIT licensed
Detect and censor abuse in English, Romanized Nepali and Devanagari.
npm install no-nepali-profanitycheck(text, { strictness }).censor()
yo ****** payment app kahiley chaley po
Flagged: khatey
400+
words, stems and phrases
8 KB
gzipped
0
dependencies
People write Nepali in two scripts, mix in English, and dodge filters on purpose. A word list built for English misses all of it.
Leetspeak, symbols in place of letters, stretched and spelled-out words are all read as the word underneath.
sh1tcaughtsh!tcaughtf*ckcaughtfuuuuckcaughtf.u.c.kcaughtFUCKcaughtPostpositions and plurals glued to a word don't hide it, in either script.
mujikocaughtgedaharucaughtमुजीकोcaughtगेडाहरूcaughtReal names that happen to contain a swear are checked in the test suite and pass.
ShitijcleanKshitijcleanRandipcleanKandelcleanPutalicleanAshacleanMasks exactly what was typed, down to the dots, and leaves the rest of the text as it was.
BeforeF.U.C.K this Sh1t!
After******* this ****!
Three levels decide how much is caught. Pick one per filter.
Adds milder insults like idiot, murkha and sala. The default.
One import, plain functions, TypeScript types included. No setup, no API keys, no network calls.
import { censor } from "no-nepali-profanity";
censor("you muji"); // "you ****"
censor("F.U.C.K this Sh1t!"); // "******* this ****!"
censor("मुजीको क्लास"); // "*** क्लास"Slang changes fast, and no word list is ever complete. If something slips through, or a real name gets flagged, open an issue or add the word yourself. Reviews from native Nepali speakers help the most.