Profanity filtering users can't bypass.
The Japanese swear words and insults people meet most, what each means, how strong it is and how it is hidden.
Narrow them by kind, strength or spelling; strong words are masked, and the download has each in full.
50 words
Said about a thing or a moment, not aimed at anyone.
クソが
s**t, damn it, screw you (swearing)
くそ
s**t
ちくしょう
damn it, said to nobody
フ**ク
f**k (English swearing written in kana: f**k you, fu***ng, mot******ker, son of a bi**h)
クソゲー
sh***y (game, stream, reply): mild swearing about things
尻穴
ar****le (vulgar)
Try itAimed at a person.
バカ
idiot, stupid (the everyday insult; also in バカンス, ばかり)
バーカ
idiot, stupid (taunts and compounds of baka)
馬鹿野郎
you idiot, bastard (baka-yarō)
Try itこの野郎
you bastard / that bastard (kono yarō, ano yarō)
アホか
idiot, fool (aho is Kansai 'stupid'; boke is 'dimwit')
アホウ
fool (also in アホウドリ, the albatross)
ボケ
dimwit, senile (also the straight-man role in comedy, jet lag 時差ボケ, blur ピンボケ)
愚か者
fool (contemptuous)
間抜け
fool, dimwit, useless (name calling)
ク**郎
sh****ad, bastard (kuso compounds aimed at a person)
クソガキ
brat, old geezer, old hag (kuso compounds)
カ**郎
scum, dregs (kasu aimed at a person)
クズ
scum, trash (as a person)
ゴ**郎
garbage, human trash (gomi aimed at a person)
乞食野郎
beggar, freeloader (kojiki as an insult; 古事記, the chronicle, is its pun)
Try itキモい
gross, creepy (kimoi)
うざい
annoying (uzai)
うるせえ
shut up (rude)
消えろ
get lost, disappear, go away
Try itふざけんな
screw you, don't mess with me, serves you right, want a fight? (aggressive retorts)
ブス
ugly (woman), ugly face
デブ
fatso, fat pig
ハゲ
baldy (an insult when aimed; also 'bald', 'peeling')
チビ
shorty (an insult when aimed; also a pet name)
ババア
old hag, old geezer (rude)
淫*女
s**t, wh**e (sexual insults for women and men)
Try itブサイク
ugly, mentally unstable (slang), pervy (mild name calling)
豚*郎
pig bastard, sow, creepy otaku (degrading insults)
Try it役立たず
useless, incompetent, low IQ (name calling)
Try it鏡見ろ
look in a mirror, how dare you show your face, your parents must be ashamed, your head is rotten, go see a psychiatrist (mild put-downs)
bakayarou
romaji insults: idiot, bastard, brat, scum, ugly
kimoi
romaji: gross, annoying, shut up, get lost, damn
ya***an
romaji: s**t, wh**e, c*m dumpster, sow
Vulgar words for parts of the body. Words for sexual acts are not on this page.
ま*こ
c***, pu**y (vulgar)
ち*ぽ
dick, cock (vulgar)
ち*こ
dick (vulgar; also inside パ**コ pachinko)
キンタマ
balls, testicles (vulgar)
Words that demean people for who they are, shown to the first letter with what each one means.
キ***
r*****, lunatic, c****** (disability and mental illness as slurs)
Shown to its first letter. The download has it in full.
チ**
slur for Koreans (also in ちょんまげ topknot, チ*** blunder)
Shown to its first letter. The download has it in full.
ニ**
racial and ethnic slurs (n-word, j**, native, buraku, Jew slurs) and expulsion slogans
Shown to its first letter. The download has it in full.
ホ***
homophobic and transphobic slurs (f*****, d***)
Shown to its first letter. The download has it in full.
オ**
derogatory word for a gay or trans person (also お***** 'don't mind me', お釜 'pot')
Shown to its first letter. The download has it in full.
毛*
'hairy foreigner': a slur for Westerners
Shown to its first letter. The download has it in full.
シ*
Shina, a derogatory name for China and the Chinese (also inside 東シナ海, シナリオ, シナモン)
Shown to its first letter. The download has it in full.
The words on this page loaded as a list filter, matched as typed, against Unprofane's rules.
バカンス
An ordinary word. The list finds "バカ" inside it.
Blocks it
allow
ク ソ が
Spaced apart, from "クソが". The list holds no word in it.
Misses it
review
アホか
Half-width katakana, from "アホか". The list holds no word in it.
Misses it
review
くず
In the other kana, from "クズ". The list holds no word in it.
Misses it
block
1 innocent blocked3 missed
1 innocent let through3 caught
Every word in full, with its kind, strength, meaning and other spellings, as JSON or CSV.
Free under CC BY 4.0, with a link to this page.
{
"name": "Japanese swear words",
"count": 50,
"words": [
{
"word": "クソが",
"language": "ja",
"category": "profanity",
"severity": "moderate",
"meaning": "shit, damn it, screw you (swearing)",
"region": null,
"forms": [
"くそが",
"クソガ",
"くっそが",
…
]
},
…
]
}One call reads every word here and every spelling of it, in 17 languages, and returns the text censored.
Get your API key100 checks a day, no card
curl -X POST https://api.unprofane.com/v1/check \
-H "Authorization: Bearer up_test_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"ク ソ が","context":"chat"}'const res = await fetch('https://api.unprofane.com/v1/check', {
method: 'POST',
headers: { Authorization: 'Bearer up_test_YOUR_KEY', 'Content-Type': 'application/json' },
body: JSON.stringify({
"text": "ク ソ が",
"context": "chat"
}),
});
const result = await res.json();import httpx
r = httpx.request(
"POST",
"https://api.unprofane.com/v1/check",
headers={"Authorization": "Bearer up_test_YOUR_KEY"},
json={
"text": "ク ソ が",
"context": "chat",
},
timeout=5.0,
)
result = r.json()req, _ := http.NewRequest("POST", "https://api.unprofane.com/v1/check",
strings.NewReader(`{"text":"ク ソ が","context":"chat"}`))
req.Header.Set("Authorization", "Bearer up_test_YOUR_KEY")
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)$res = file_get_contents('https://api.unprofane.com/v1/check', false, stream_context_create(['http' => [
'method' => 'POST',
'header' => "Authorization: Bearer up_test_YOUR_KEY\r\nContent-Type: application/json\r\n",
'content' => '{"text":"ク ソ が","context":"chat"}',
]]));
$result = json_decode($res, true);require 'net/http'; require 'json'
uri = URI('https://api.unprofane.com/v1/check')
req = Net::HTTP::Post.new(uri, 'Authorization' => 'Bearer up_test_YOUR_KEY', 'Content-Type' => 'application/json')
req.body = '{"text":"ク ソ が","context":"chat"}'
res = Net::HTTP.start(uri.host, uri.port, use_ssl: true) { |http| http.request(req) }
result = JSON.parse(res.body)using var http = new HttpClient();
http.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", "up_test_YOUR_KEY");
var req = new HttpRequestMessage(HttpMethod.Post, "https://api.unprofane.com/v1/check");
req.Content = new StringContent("{\"text\":\"ク ソ が\",\"context\":\"chat\"}", Encoding.UTF8, "application/json");
var res = await http.SendAsync(req);
var result = await res.Content.ReadFromJsonAsync<JsonElement>();var http := HTTPRequest.new()
add_child(http)
http.request_completed.connect(func(_r, _code, _h, body):
var result = JSON.parse_string(body.get_string_from_utf8())
print(result))
http.request("https://api.unprofane.com/v1/check",
PackedStringArray(["Authorization: Bearer up_test_YOUR_KEY", "Content-Type: application/json"]),
HTTPClient.METHOD_POST, "{\"text\":\"ク ソ が\",\"context\":\"chat\"}"){
"allowed": false,
"action": "review",
"evasion": [
"separator"
],
"matches": [
{
"text": "ク ソ が",
"normalized": "クソが",
"category": "profanity",
"severity": "moderate"
}
],
"censored": "*****"
}*ass* blocks 121 of the 20,000 commonest English words, pass, class, glass among them. The banned words generator counts both for any word; Unprofane reads every spelling in one call instead.7fd3a314370b.