Profanity filtering users can't bypass.
The Spanish 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.
mi***a
s**t
jo**r
f**k (verb; exclamation), to screw over
c**o
c*** (Spain, Caribbean exclamation)
cojones
balls (vulgar), as emphasis or annoyance
carajo
damn, hell (dick, vulgar exclamation)
hostia
damn, a punch
me cago en
"I s**t on" (Spanish exclamation)
la p**a madre
fu***ng hell (literally the wh**e mother)
me la suda
I do not give a f**k
cagar
to s**t
a la mi***a
go to s**t: f**k off
ch***ar
f**k
pinche
fu***ng, damned
no mames
no way, you are kidding (vulgar)
puñeta
damn (literally a wank)
coñazo
a pain in the arse, a bore
a la ve**a
holy s**t, f**k (vulgar exclamation)
culo
arse, ass (vulgar)
maldita sea
damn it
chucha
c***, damn
Aimed at a person.
p**a
wh**e, s**t
hijo de p**a
son of a bi**h, mot******ker (literally son of a wh**e)
hijo de pe**a
son of a bi**h
tu p**a madre
your wh**e mother
ch***a tu madre
f**k your mother
ca***n
bastard, as***le (literally a cuckold goat)
pe***jo
idiot, dumbass (vulgar)
gil*****as
dickhead, idiot (Spain, vulgar)
idiota
idiot
imbécil
imbecile
estúpido
stupid
tonto
silly, dumb
tarado
moron, r*****
cretino
cretin
huevón
idiot, dumbass (literally big-balled)
boludo
idiot, dumbass (also a matey filler)
pelotudo
dumbass, moron
cu***o
as***le, coward
mal****do
bastard, son of a bi**h (literally badly born)
go****ea
scumbag, piece of s**t
com*****da
s**t-eater
chu*****las
coc*****er
lameculos
arse-licker, brown-noser
cagón
coward, chicken (vulgar)
zo**a
s**t, bi**h
pe**a
bi**h
ra***a
wh**e, harlot
cornudo
cuckold
mamón
arrogant jerk
so***e
turd, piece of s**t
conchudo
jerk
otario
sucker, idiot
cojudo
idiot (vulgar)
mocoso
snotty brat
vete a la ve**a
f**k off, go to hell (vulgar)
vete a tomar por c**o
go take it up the arse: f**k off (Spain)
vete al diablo
go to hell (mild)
Vulgar words for parts of the body. Words for sexual acts are not on this page.
ve**a
dick, cock (Latin America)
po**a
dick, cock
tetas
tits
chichis
tits
chocho
pu**y
Words that demean people for who they are, shown to the first letter with what each one means.
m******
f*****
Shown to its first letter. The download has it in full.
m*****
f**, sissy (homophobic slur; in Colombia also a matey filler)
Shown to its first letter. The download has it in full.
j***
f*****
Shown to its first letter. The download has it in full.
n******
n***** (Spain)
Shown to its first letter. The download has it in full.
s*****
slur for Latin Americans
Shown to its first letter. The download has it in full.
t******
t***** (transphobic slur)
Shown to its first letter. The download has it in full.
t*********
d*** (lesbophobic slur)
Shown to its first letter. The download has it in full.
m********
m********, r***** (disability slur)
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.
vehículo
An ordinary word. The list finds "culo" inside it.
Blocks it
allow
c0jones
Digits and symbols, from "cojones". The list holds no word in it.
Misses it
block
h.o.s.t.i.a
Spaced apart, from "hostia". The list holds no word in it.
Misses it
review
me сago en
Look-alike letters, from "me cago en". 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": "Spanish swear words",
"count": 70,
"words": [
{
"word": "cojones",
"language": "es",
"category": "profanity",
"severity": "moderate",
"meaning": "balls (vulgar), as emphasis or annoyance",
"region": null,
"forms": [
"cojón",
"cojonazos",
"cojonudo",
…
]
},
…
]
}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":"c0jones","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": "c0jones",
"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": "c0jones",
"context": "chat",
},
timeout=5.0,
)
result = r.json()req, _ := http.NewRequest("POST", "https://api.unprofane.com/v1/check",
strings.NewReader(`{"text":"c0jones","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":"c0jones","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":"c0jones","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\":\"c0jones\",\"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\":\"c0jones\",\"context\":\"chat\"}"){
"allowed": false,
"action": "block",
"evasion": [
"leetspeak"
],
"matches": [
{
"text": "c0jones",
"normalized": "cojones",
"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.