Because CSS isn't evil enough already.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Mess with peoples' webpages. Various subtle and not-so-subtle CSS rules that will slowly drive people insane.

Inspired by Upside-Down-Ternet and kitcambridge's evil.js.

Fork it and add your own evil rules. Worthy pull requests will be accepted.

How to use it

Inject it into unsuspecting users' webpages. evil.js was intended to wreak havoc on sites hotlinking JavaScript library files, however hotlinking CSS is far less common. Some other evil ideas:

  • Set it as the user stylesheet in a browser (example: discouraging "customers" at retail stores from using the computers to browse Facebook and check their email).
  • Inject it into webpages or CSS files served to WiFi leachers on your open access point.
  • Exploit this week's WordPress vulnerability and add it to your friend's blog.
  • Hack an Internet backbone router and inject it into everyone's webpages.

A script called is included that automates setting Safari's user stylesheet to the latest version of evil.css. Run it on any Mac using with this easy to remember URL:

curl -L | sh

Uninstall it by deselecting the stylesheet in Safari's preferences, or execute this in a shell:

defaults write "" "WebKitUserStyleSheetEnabledPreferenceKey" "1"


This bookmarklet will inject the latest version of evil.css into any webpage, just copy and paste into the URL bar and hit enter:


See Also



Public domain.

Obligatory disclaimer

evil.css is purely for entertainment purposes. I'm not responsible for anything you do with evil.css, nor do I suggest doing any of the above activities, especially hacking backbone routers.