There are two widely used systems of automated censorship:

  1. Replacing bad words with a custom replacement. For example: “bad” becomes “b**” or “***”
  2. Blocking the submission of the content. If a post contains a bad word it will automatically be rejected upon submission.

Which of these is preferable in terms of effectiveness? I'm talking about: Reliably blocking bad content, but not hindering the users in normal usage? Is there another alternative?

  • 10
    I would go for option 3: don't.
    – badp
    Commented Jul 29, 2014 at 18:45
  • 2
    option 4: let it through, but automatically flag it for moderator attention Commented Aug 7, 2014 at 14:56

4 Answers 4


I'd say whatever you do, don't do the second item. It'd be better to have it reviewed by a moderator...

There are valid times that swearwords or words that look like swearwords are used:

  • In Austria, there's a village called Fucking
  • In programming, there is a language called Brainfuck
  • Some swearwords in language A are ordinary words in language B
  • If you're talking about the origins of the word...
  • Talking about moderating bad words!

Ultimately, if you block content, they will just change the content to bypass the filter. They might just do something like this: F * * * (with the actual letters; I'm censoring this here).

  • 2
    Users also get creative with misspellings... pr0n, f|_|*k, porblem, etc. Commented Jul 29, 2014 at 19:07
  • 1
    @Matt yes, that's why sometimes you have to let it go through and have flags... Commented Jul 29, 2014 at 19:08
  • On one forum with automatic system, it caused more headaches than help, especially finding obscenities in bundles of words (e.g. URLs) where no live user would notice any.
    – SF.
    Commented Aug 4, 2014 at 11:45

I would argue against any kind of automated censorship. If a user uses language that is deemed unacceptable, let the user know so he can change his post.

I find it often helps a lot more to change a users' behaviour when you talk to him, instead of letting technical measures do all the policing for you. In the end, your goal is that people talk to each other with respect, not that certain words aren't used.

  • 2
    +1 Exactly. I like to think that on SE sites, for example, general conduct sets an example to new users, and flags / community edits create implicit constructive feedback for new users who don't know what is acceptable on these sites. The key is always constructive / positive feedback, then the problem becomes minimal and generally limited to the first few posts of a relative minority of new users - a manageable problem.
    – Jason C
    Commented Jul 29, 2014 at 19:52

Myself, I don't give a barnacle about curse words. I think censors are a bunch of bullcannon for over-sensitive, bilge-drinking halibuts.

That said, when given the ability I actually prefer replacing censored words with humorous alternatives.

For example, an online pirate-themed game I once played replaced certain curse words with rather amusing piratey alternatives:

- ass(es) -> booty(ies)
- asshole* -> barrelstopper*
- *bitch* -> tart*
- blowjob* -> harmonica lesson
- clit -> rosebud
- cock -> mast
- cocksuck* -> bilgedrink*
- cum -> bilge
- cunt* -> shrew
- dildo* -> tickler*
- fag(s) -> landlubber(s)
- *fuck* -> *scupper*
- gay -> happy
- muff -> britches
- *penis* -> *John Thomas*
- pussy* -> kitty
- *shit -> *cannon
- shit* -> barnacle*
- slut -> strumpet
- tits -> bosom
- titty* -> bosom
- twat -> halibut
- whore* -> flirt (previously trollop)
- vagina(s) -> dainty(ies)

Etc. Certain extremely "bad" words were simply not allowed at all. This system worked remarkably well, as users were still able to communicate without much hindrance, and the often-amusing results tended to lighten situations.

That said, this does require a general theme for the community, I do not think a random collection of replacement words would have quite the same value. The trick is to choose a word set that is humorous, consistent, and still allowing users to get their point across.

Simply blocking the posts altogether is always a bad idea. Users will be forced to find a way to post their content and the path of least resistance is to simply come up with creative spellings to work around the filter. By allowing the post but modifying the words afterwards, this creates a barrier out of the extra review and edit steps required for a user to go back and work around the filter - plus the user was not met with the frustrating UX motivation of having to edit just to get their main post out.

Note that, on a much deeper psychological level, this is actually somewhat similar to SE sites' successful system of flags and community edits - it provides constructive, positive feedback on what is acceptable (albeit via direct automated replacements rather than user feedback - but in any case it doesn't e.g. create frustrating UX of not allowing posts or unsatisfying word replacements, which doesn't actually improve long-term culture).

  • 3
    ... I am never learning to play the harmonica now.
    – Doorknob
    Commented Jul 30, 2014 at 2:37
  • 1
    This works well for English, where flexion is nearly nonexistent. In Polish for example, there are dozens of variants of each word, and the dictionary of obscenities is much larger. As result censorship tries "partial matches" and you'd get things like "delicious carrot brichesins", "peamast", "sarcohappye" and "PhD Magna Bilge Laude".
    – SF.
    Commented Aug 4, 2014 at 11:58
  • @SF Yup, it has shortcomings, but it was enough to get the point across in a positive manner and create a culture of general good behavior (which is really the goal) - to the point where it became the norm to just use the actual piratey words themselves in e.g. forum posts instead of letting the censor do it. I seem to remember, in this game, which was primarily English, in some cases they would censor partial matches but add certain common words (e.g. "peacock") back to a white list.
    – Jason C
    Commented Aug 4, 2014 at 15:13
  • 1
    @JasonC: For English, the white list might help, but have a look at just one core word in Polish, and the list doesn't exhaust all its variants... and each of them can appear in any of 7 cases x 3 times x 6 persons, plus some modes and more...
    – SF.
    Commented Aug 4, 2014 at 15:54

An interesting technique is to not "automate the blocking", since user's will always figure away around it. Also, once they use techniques to hide it, it gets incredibly hard to clean up the mess if moderators leave it alone for a few weeks. Instead, I would fake moderator behavior by not blocking their post or immediately staring it out. instead, clean up entire sections at a time, as if a moderator is doing it. You can use automation1 to do this, just don't make it too frequent. The main advantage of this system is that users will not try to circumvent the system, since they believe its a human doing it.

Having users flag bad posts is also a good addition to the above mentioned system.

When your "censor bot" cleans up a users post, record that. You will soon begin to see certain users writing most of the bad words, you can then block/warn them.

As far as whether b** or ****, I would go for all stars since people really don't want to know what they meant, and showing (part of) it defeats the purpose of censoring in the first place.

1A mix of automation and human decision is best. You can use a bot to flag post for review, or perform the tasks its self. This depends on what you're trying to censor. If a bot does any automated work, be sure to have an appeals process for false positives.

  • 1
    Interesting idea, but I'd rather see the system notify a moderator so they can determine if action is needed. Any sort of automatic filtering system is going to have noticeable false positives.
    – Kevin
    Commented Aug 3, 2014 at 16:38
  • @Kevin I don't see how a bot looking for bad words would hit many false positives... That being said, your are right: it is always best for humans to make the calls :). Commented Aug 3, 2014 at 16:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.