Because CSS isn't evil enough already.
CSS Shell
Switch branches/tags
Nothing to show
Latest commit 8ac2bf4 Mar 31, 2014 @tlrobinson tlrobinson Merge pull request #17 from james2doyle/patch-1
added y-u-no-hover and misaligned images
Failed to load latest commit information. Update Dec 31, 2013 Minor updates Mar 3, 2011
evil.css Merge pull request #17 from james2doyle/patch-1 Mar 31, 2014


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.