April 27, 2007

Idea: Uncensor the Internet with Greasemonkey

Uncensor the InternetThere’s an article on-line from Money Magazine called “50 Bulls**t Jobs.” That’s right. Bulls**t. With those two asterisks in there. Come on. We know what word they mean. So why not just say it? If they think we’re adult enough to be reminded of the word, why don’t they think we’re adult enough to see the actual word? (The article is based on a book by the same name, but without the asterisks)

Oh, I know. It’s the kids. They might be reading. Sh*t. I didn’t f*cking think of that. It would be terrible if they would see the word “Bulls**t” in print, but it’s okay for them to see it with the asterisks, right? They’ll have no idea what that means. And I’m sure they have no idea what “the F word” is, so let’s just keep calling it that.

But what about us adults who can decide for ourselves whether we want to see foul language or not? Is there a way for us to avoid all this f****ng unnecessary self-censorship littering the internet?

There is now. I’ve created the “Uncensor the Internet” script for Greasemonkey (a Firefox plug-in that lets you add all sorts of useful functionality to your web browser, available here). If you’re running Firefox with the Greasemonkey plug-in, just install this script, and see all the foul language that people are pretending they don’t use.

It’s also available as a standalone plug-in for those of you who aren’t running Greasemonkey. Right-click on the link to save it to your desktop, and then drag it into your browser window.

To see an example of the script in action, reload this page after you’ve installed it.

Previously: The CNN Fortune Cookie Greasemonkey script. It automatically adds the phrase “in bed” to the end of CNN.com headlines.

Update: I’ve fixed the script so it knows the difference between “a whole” and “a**hole,” and it knows the difference between “batch,” “botch,” “butch,” and “b*tch.”


We used to use the “in bed” trick in church when I was a kid, except we used “between the sheets.” You simply add the phrase to the end of any hymn title to spice up congregational singing. It brings a whole new meaning to the song titled, “The glorious blood of Christ.”


I also notice that in an instance of brilliant serendipity, the plugin also changes the phrase “a whole new meaning” in the above comment to “asshole meaning.” Awesome.

And it now occurs to me that my comment will looks ridiculous because the plugin makes both quotes identical. The first should say, “A___whole___new___meaning”

I am totally fascinated by this phenomenon as well and I would love to hear what an anthropologist who specializes in taboos would say about it. A related phenomenon is the censoring of dirty words in songs on the radio — generally you can tell from the context what the word is supposed to be, and sometimes they don’t even cut out the entire word; I remember when Nine Inch Nails “Closer” was in heavy rotation, and the “fuck” in “I want to fuck you like an animal” often just had the vowel sound cut out, so it came out something like “I want to f’ck you” (with the apostraphe representing a glottal stop).

Also on the same track: a year ago or so a British politician got into trouble for telling a racist joke at a public dinner. The BBC story about it managed to describe all the elements of the joke without actually repeating the joke itself, which was kind of imperssive.


Hmm. I should fix that a___whole bug. Let me know what else you find along those lines. I knew those kinds of things would come up, but I figured that the idea was more important than the execution for the first version. -David

Personally, I’d rather have a plugin that just moves the asterisks around. A**hole becomes Assh**e, Sh*thead becomes Shithe*d, Bullsh*t becomes B*llshit. Makes it even more comical.

I notice it doesn’t seem to work on your “softer” cusses, your d*mn and your h*ll and the like. What about if someone says ‘h-e-double-hockey-sticks’?

What about if someone says ‘h-e-double-hockey-sticks’?

The plugin should go round to their house and put their windows through.

Well, the obvious things I think of are purely Fark related but to me irritating as hell… “Fuck” is always replaced with “Fark” and shit is always replaced with “shiat” In my mind, those would be good additions.

What about the shizznit? You forgot shiznit!

And, in Arlo’s comment above, what is “b*llshit”, really? “Ballshit”? Now you’re really gettin’ crazy with the cheez wiz!

A filter to change the word “c**k” to “cock” would be nice. However I am splitting hairs. This plugin is brilliant.

“botched” becomes “bitched”


Does it handle “the N word”?


Here’s an interesting (unintended?) side effect. “Batch” becomes “Bitch”… I only noticed when putting some photos on my flickr site. Take a look:

Some things work.. some don’t
good work anyways

Hahahaha I just read the “BONUS WORD REPLACEMENT FUN” in the script… very nice.

I love the Something Awful model on censorship.

I will not use it but I applaude you for the effort. Being German it is additionally annoying to see this kind of self censoring as it is not built into my culture in this ridicolous way as in America - decent and all those things.

“A related phenomenon is the censoring of dirty words” in the US please. It is nice once you recognize that this is not how the earth works but a special subset of countries who tend to speak the same language as I speak. :)

Many many times I get confused on why something is blanked out - because to me it sounds harmless and I do not have a reference to why a word /phrase may be such ‘ugly’ word. :)

But thanks for the step forward and making it clear that adults can think for themselves.

(I actually am thinking of adding the pic rating for hardcore or such to my blogs, just right out of being annoyed by this.)

I like the idea.. it’s like an “uncover the truth” plugin. I would suggest a more robust rev. 2 of the plugin which reveals the true meaning of the ramblings of political candidates.


Before plugin: “It’s about America.”

After plugin: “It’s about me.”

Eventually “greasemonkey for the win” will be the highest-ranked Google phrase on Earth. Thanks for this!

- Chris


“Being German it is additionally annoying to see this kind of self censoring as it is not built into my culture in this ridicolous way as in America - decent and all those things.”

Does it handle “the H word”? or “the JC word”? or “the R-head word”?


just want to watch it turn The Bush Administration and President Bush into the replacement

Looking at the code, I see that “Batch”, “Botch” and “Butch” are all changed to “Bitch”.
Try replacing “B[^ ]tch” with “B[^ a-z]tch” and similarly for the other regular expressions.

OK, I’m laughing at the Bitch Organizer on Flickr.

And I like your idea. There’s a blog I read, and the content is so far out there. It’s hilarious. Yet the author s*lf-cens*rs, and I wonder why. Is it that she doesn’t want to show up in Google searches for those words? Her content is such that the search strings that lead to her blog must be pretty sick. And hilarious.

Anyway…I have Greasemonkey. I’m going to try your script.

Could there be some sort of onscreen interface? That batch/botch/butch thing has me worried I’ll forget it’s on. It could say how many replacements have been made, maybe.

The only other thing I’d ask for is a way to toggle it on or off without going through the settings and restarting the browser. Sometimes (as with the comments here, for example) you’d need to be able to see what was there before the uncensor.

Pure genius and I have to agree with everything you said above. Cheers!

I need a li’ bit more work, for instance the script changes the word “butcher” into “bitcher”.

I am all for “uncensoring” life, however, i quite like the * in words. it makes it a little bit more fun/funny as i can use my imagination to fill in the gaps. (even though its obvious what the word really is).

the best example is within south park, where the strong words are bleeped. but then maybe hearing beeps is better than reading beeps?

the radio censoring is a little backward sometimes. because, i seem to remember, in the lily allen track LDN, “crack whore” is bleeped. whereas i am very sure “bitch” is allowed in another song - (radio 1).

the real challenge would be to create a “proper Queens english” translation script for all this uber l33t net speak, e.g. pwned.


Uncensor the Internet changes batch, as in batch file, to bitch.

I’ve fixed the batch/botch/butch/bitch problem. Reinstall for the latest version. -David

Makes unix documentation regarding the “fsck” utility somewhat amusing.

You dumbass. This is actually ‘swearifying’ the internet, which is probably worse than self-censorship. You’re changing people’s written text, not reversing some external prude’s masking. In some cases you’re actually making ordinary words into profanities. Let me make my position clear, if adults want to write shit, bollocks, fuck and vibraphone in their text, that’s fine, but if they want to make some concession to the fact that these words are considered offensive to some, then why shoudln’t they?

Leave their text alone!

OMG what an AWESOME idea! I HATE censorship in all forms, it’s SO stupid. Thank you!

Nobody’s yet mentioned the article picture, which I love.

Your script makes “flaking” becomes “fucking”.

Is there any way to turn something like (f) or [f] into fuck? Every time I try, it turns every appearance of the letter f into fuck. Like “lifucke, the univaginaershite, and evaginaerything”

I want to be able to use it in a manner that meets a certain website’s censorship policy.

Great effort!

However, if you read my blog post …


… you’ll see there are a couple you’ve missed. Perhaps, they’re not as common in the US as here in Australia.

Again, what an excellent idea!

@Matt: To turn off the script you just click once on the little monkey face in the bottom right of your browser and then refresh the page. And if you right-click and select Manage scripts… you can add pages for it to exclude.

@Steve: Regarding making it change (f) and [f] to “fuck”, add this to the script:
“[\(\[]f[\)\]]” : “fuck”
the parenthesis and square bracket are both special characters in regular expressions, which is why it was matching every f

“Trafficking” gets “uncensored” in a humorous way as well.

Censoring can be made funny, when done properly (not with ast*risks everywhere).

For example, an old gaming forum used to change “fuck” to “multiplayer online gaming session” or something similar =)

I found it odd when I was reading an article on php and came accross “…linked directly into the prefucking multiprocess Apache 1.3.x Web server.”

I blinked. Read the sentance again, and finally remembered this script must have done it.

I think this takes some of the fun out of the myriad uses for the word fuck.

And what does the script to if I use the word F*******k?


File system check better known as F S C K! I did a quick google search for F S C K! and it made for an interesting FSCKing read…

Ha! “bitch converting” and “bitch” organizing.

Awesome script! Any chance we could leave instances of fark as is? It’s actually been confusing for me on sites other than fark.com, and I do consider it an actual word, do others?

Lovely! I added a line for one of my own pet peeves.

I’ve been using this script since I found out about it, and it’s great. However, i just went to the wikipedia page for the movie “Meet the Fockers” and it told me about the movie “Meet the Fuckers.”

Oops, looks like I found a minor bug in the script. It has to do with the above comment.

It comes down to the fact that the script seems to interpret all four letter strings starting with ‘f’ and ending in ‘k’ as being a corruption of the word ‘fuck’. Therefore some names are corrupted, e.g. (dash added to fool the script):

F -okker: Aircraft manufacturer (also the name of a famous physicist)
F -ocker: Film family
F -ock: Famous physicist, whose equations (that bear his name) are widely used to describe atomic systems.
F -ick: Another famous physicist (I am seeing a pattern) with an equation named after him. That word is also the German word for ‘fuck’ incidentally…

Anyways, I am splitting hairs again, but I thought I might let you know there are some exceptions to the rule. It does make reading journal abstracts hilariously funny though… :D


Jimmel Kimmel has a great bit…about unneccary censorship…

Hooray! Now we just need a script that subs in random swears for strings of punctuation. “Where is the @#$%-ing money?” is clearly best translated as “Where is the shitting money?” Serves people right if they won’t swear clearly! (PG comic books are the best. Everybody calling each other sons of asses and yelling at bitching fucks and whatnot.)

I could also go for a plug-in that subbed asterisks into non-swear words.

Fuck! Good for you!

Привет, всем.
Недавно зашла на сайт,
где огромное количество http://www.aloh.ru/
Очень прикольный сайт! Надеюсь, может похудею)

Ok, time for me to uninstall this script. I just mailed the BBC pointing out that one of their news stories referred to ‘international human traffucking’…

Then the penny dropped.

forking becomes fucking every single time. Very annoying. I uninstalled it.

It works! awesome!

As a spin off I wonder if there is a l337 speak or smiley filter?

I’m glad you added bitch. I’ve got to say that I had some fun with it, though, when I added it myself! I had merely slopped a regex into the script to cover that pattern, but I wasn’t specific enough; the results popped up in the most hilarious places!

Follow my homepage URL to read the blog I posted about it; it’s a hoot!

Unfortunately, I’ve found two cases in the last two days that have failed: one false negative and one false positive. Consider, first, ‘f*** tables’ [screenshot], which does not uncensor. And I was rather shocked to find my OKCupid profile suddenly calling me ‘fuckle’ instead of ‘f-i-c-k-l-e’. Even now, as I type it into this box, it shows up as ‘fuckle’. Rather a humorous word, but correct only sometimes. :)

my kid cant read yet, so dont mind the *