Profanity filtering users can't bypass.
The Korean 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.
70 words
Said about a thing or a moment, not aimed at anyone.
씨*
ss***l
f**k (the core Korean swear)
씨바
ssiba
evasive spelling of 씨* (f**k)
ㅅ*
jamo abbreviation of 씨* (f**k)
ㅈ*ㅈ
j*t
dick
Try it존나
jonna
fu***ng, damn (intensifier from 좆*)
ㅈㄴ
jamo abbreviation of 존나 (fu***ng)
지랄
jiral
bu****it, throwing a fit (vulgar)
염병
yeombyeong
damn it (literally 'typhoid')
젠장
jenjang
damn it
니미
nimi
damn, f**k (from 니 어미, "your mother"; an interjection)
씹
ssip
f**k (vulgar; on its own an interjection)
제길
jegil
damn it
개소리
gaesori
bu****it (literally 'dog noise')
썅
ssyang
f**k! (exclamation)
Aimed at a person.
좆*
jo***a
f**k off (literally 'peel your dick')
엿먹어
yeonmeogeo
screw you (literally 'eat taffy')
ㅗㅗ
the middle-finger jamo
개*끼
gae****ki
son of a bi**h (literally 'dog's pup')
개*식
ga****ik
bastard
개같은
gaegateun
fu***ng, damn (literally 'dog-like')
씹*끼
ssi*****ki
mot******ker (씹 = c***)
씨*놈
ssi****om
fu***ng bastard / bi**h
병*
bye****in
r*****, fu***ng idiot (literally 'sick body', a disability slur)
ㅂ*
jamo abbreviation of 병* (r*****)
개*신
gae******sin
fu***ng r***** (compounds with 병* in second place)
미친놈
michinnom
crazy bastard
미**끼
mic******kki
crazy mot******ker
미*년
mic*****eon
crazy bi**h
또라이
ttorai
nutjob, psycho
등신
deungsin
moron, dunce
돌대가리
doldaegari
blockhead (literally 'stone head')
멍청이
meongcheongi
idiot, dummy
바보야
baboya
dummy, fool (aimed forms)
머저리
meojeori
moron, halfwit
찐따
jjintta
loser, social reject
관종
gwanjong
attention wh**e
인간**기
inga******egi
human garbage, scum
쓰레기야
sseuregiya
you piece of trash (vocative and copula forms of 쓰레기)
기레기
giregi
journalist-trash (for reporters)
버러지
beoreoji
vermin, worm (of a person)
빡대가리
ppakdaegari
blockhead, dumbass
호**끼
hor*****ki
ill-bred bastard
싸가지
ssagaji
rude brat, no manners
이새끼
isaekki
this bastard / that bastard
새끼
saekki
bastard (after a person)
새꺄
saekkya
you bastard (contracted vocative of 새끼야)
썅*
ssy*****eon
fu***ng bi**h
양아치
yangachi
punk, hoodlum, sleazebag
쌍놈
ssangnom
low-born bastard
개*
ga****on
bi**h
창*
cha****eo
wh**e
갈*
ga**o
wh**e
썩을놈
sseogeullom
rotten bastard
나쁜놈
nappeunnom
bad guy, jerk
정신병자
jeongsinbyeongja
psycho, lunatic
변**끼
byeo*******kki
pervert bastard
느*마
neu****ma
your mother (the 'family insult' of Korean gaming)
잼민이
jaemmini
annoying brat (gaming)
할망구
halmanggu
old hag (contemptuous word for an old woman)
Vulgar words for parts of the body. Words for sexual acts are not on this page.
보*
b**i
pu**y (vulgar)
자*
j**i
dick (vulgar)
젖*
je****ng
tits (vulgar)
후*
hu***g
ass (anal, vulgar)
Words that demean people for who they are, shown to the first letter with what each one means.
짱*
c**** (slur for Chinese people)
Shown to its first letter. The download has it in full.
쪽**
J** (slur for Japanese people)
Shown to its first letter. The download has it in full.
깜**
n***** (slur for Black people)
Shown to its first letter. The download has it in full.
똥**
slur for gay men ('anus worms')
Shown to its first letter. The download has it in full.
김**
misogynist slur for Korean women
Shown to its first letter. The download has it in full.
한**
misandrist slur for Korean men ('Korean-man worm')
Shown to its first letter. The download has it in full.
틀*
slur for old people ('denture-clatterer')
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
whssk
Typed on a Latin keyboard, from "존나". The list holds no word in it.
Misses it
review
ㅈㅣㄹㅏㄹ
Spelled in its letters, from "지랄". The list holds no word in it.
Misses it
review
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.
{
"name": "Korean swear words",
"count": 70,
"words": [
{
"word": "씨바",
"language": "ko",
"category": "profanity",
"severity": "moderate",
"meaning": "evasive spelling of 씨발 (fuck)",
"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.