It's all gone to shit

What the *%$# happened to my *%$#?

You know the old saying, call a spade a spade? Well, sometimes you can't, because some people out there on the internet really shouldn't be out there on the internet; people who're easily and righteously offended—either for themselves, or on behalf of others—when their fragility detectors cause the hairs on their necks to stand on end. The dinky butthurts who, rather than turning the other cheek; (wo)manning up; and moving on, will have a pissy fit instead.

For this reason, a number of forums and boards employ profanity/sensitivity filters to protect fragile minds. These might prevent your post from going through, or change it to bleep out the offensive words. But it changes the meaning, and it's really just another form of arbitrary censorship.

Methods for bypassing word filters include, but are probably not limited to: homophones; substitution; and insertion. Character substitution includes the use of accented Latin characters; non-Latin alphabets; and other character swaps, such as those shown in the table below. Insertion of invisible elements within the word can also circumvent filters.

charactersubstitute
aа 4 α
b Ь
c© ¢ č с
e€ 3 ԑ
h#
i! ¡
l1
o0 ◦
s$ z
t7
uv υ
x× Χ χ

A few examples are given below:

fuck
homophones
fuk
phuque
substitution
füçk – accented Latin
fυck – substitution of Latin u with Greek lowercase upsilon υ
Ƒv©k – 31337 H4X0R
insertion
f⁠uck – a zero width non-breaking space (actually U+2060 word joiner) between the first and second characters
f⁠uck – the equivalent HTML entity (⁠) between the first and second characters:
f⁠uck
gay
homophones
gey
ghey
substitution
gây – accented Latin, giving the a a gay little hat here
gаy – substitution of Latin a with Cyrillic а
g4y – 31337 H4X0R
insertion
gay – an empty inline element between the first and second characters:
g<span></span>ay
gnonsenseay – a hidden inline element between the first and second characters:
g<span style="display: none;">nonsense</span>ay

Some of these approaches are less likely to succeed than others though. For instance, most boards will strip out HTML, so inserting HTML elements or entities may not work as intended. Use of non-standard invisible characters and alternative alphabets are more likely to work across the board.

So, let cock become ℅ck; bollocks become bollox; shit become $h!t; and porn become pawn or pr0n. But feel free to experiment; the only limit is your imagination.