Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Replacement icons for Emacs
branch: master
Failed to load latest commit information.
contrib/sabof smaller borders
document-icons fix readme
thumb added thumbails
.gitignore git ignore file
EmacsIcon1.icns stuff it in there
EmacsIcon1.png add the png's
EmacsIcon2.icns stuff it in there
EmacsIcon2.png add the png's
EmacsIcon3.icns stuff it in there
EmacsIcon3.png add the png's
EmacsIcon4.icns stuff it in there
EmacsIcon4.png add the png's
EmacsIcon5.icns stuff it in there
EmacsIcon5.png add the png's
EmacsIcon6.icns stuff it in there
EmacsIcon6.png add the png's
EmacsIcon7.icns stuff it in there
EmacsIcon7.png add the png's
EmacsIcon8.icns EmacsIcon 8 added - Playing Card mount
EmacsIcon8.png EmacsIcon 8 added - Playing Card mount
EmacsIcon9.icns Emacs icon 9 added.
EmacsIcon9.png Emacs icon 9 added. Update
doc-icons.png Updating to include notes on the document icons process
emacs-card-blue-deep.icns Added varieties for EmacIcon8
emacs-card-blue-deep.png Added varieties for EmacIcon8
emacs-card-british-racing-green.icns Added varieties for EmacIcon8
emacs-card-british-racing-green.png Added varieties for EmacIcon8
emacs-card-carmine.icns Added varieties for EmacIcon8
emacs-card-carmine.png Added varieties for EmacIcon8
emacs-card-green.icns Added varieties for EmacIcon8
emacs-card-green.png Added varieties for EmacIcon8
emacs-file-types Add document icon generators + generated SVG, Png & icns.
emacs-interlock-v1.png added png primatives for making new icons.
emacs-interlock-v2.png added png primatives for making new icons.

Emacs icons project

Please note, these are not "official" GNU icons.

I created these for my own use, I'm fairly OCD about visual stuff, and I decided to share these with the community, I won't be promoting them, in any way, (other than adding stuff to this project.)

Application icons are in the root folder, document type icons are in the document-icons folder.

Contributing / Intension of this project

I really offer this project up as a framework, I'd hope that people could come up with alternative designs, and I can improve the ease of including this into a build, that way you could pick from a range of icons, and be happy as larry.

I've made this initially Mac specific, because that's what I use, and stereotypes suggest that mac users are more focussed on how things look. So please raise issues and post icon/logo ideas, I'm not averse to customizing the god-awful Emacs splash page either.

Making it all free

The central design was built with Cinema4D, but I plan to make it render with POV instead to keep it free, the background designs were made in photoshop, but I should get my act together on that too and make them pure SVG, it's perfectly capable of rendering them.

Not just because they're free, but because they're also resolution independent, and that's always good.

How to use

These are all ready to rock on OS X, because I use it, I've put a couple of notes below for Linux and Windows, but they are sparse.

I will add better instructions at some point, for the moment, I expect you to know how to do this:

Mac OS X

Pick an Application icon style you like and copy that to


cp emacs-card-blue-deep.icns /Applications/

To install the document icons:

cp document-icons/*.icns /Applications/

Backup Info.plist and copy the version from here, ie.:

cp /Applications/ /Applications/ 

cp document-icons/Info.plist /Applications/

I could write you a script to do this, but then you'd bug me if you didn't know how to do this... so, you know, this is how it'll stay.

Getting OS X to recognise as the app to handle all the file types is something I'm working on, if you have various text editors installed, they will all vie for attention from OS X, e.g. XCode, TextMate, Sublime Text 2, MacVim, BBEdit, etc. etc. You can rebuild the launchd registry database with lsregister ($(locate lsregister) --help there's no man page AFAIK, but there is this - I intend to address this part of the process more completely, but as it is now, I have XCode overriding many of my defaults. - You can also have a look at duti - for info on OS X filetype handling and setting.

Notes for Linux

I you want to use these on Linux, I'd recommend just downscaling the PNG version to a suitable size with ImageMagick (they range from 900-1024px), eg.

mkdir linux-icons;
for icon in document-icons/*.png
convert -size 256x256 $icon linux-icons/$icon

Do a single convert for an application icon, eg.

convert -size 256x256 emacs-card-british-racing-green.png emacs-icon.png

I have no idea about filetype associations for KDE, Gnome etc. So for that, you're on your own, add an issue if you figure something out for a Linux window manager.

Notes for Windows

If you want to use these with Windows, you're on your own. The PNG versions are your starting point, if you come up with a free and automatic method, add an Issue here and I'll integrate it.

(semi) Automating doc-icons

I've created a template method of building document-icons.

Within document-icons/ you'll find:

  • document-icons/doc-types.yaml
  • document-icons/doc-icon.mustache - an SVG template
  • document-icons/make-svg-icons.rb

I used InkScape to make the PNG files from SVG and makeicns to make the document icns.

I've also included an OS X Info.plist.

The font used is Avenir Next, it's part of Mountain Lion's default font set.


I intend to update doc-types to include descriptions, file extension and any relevant public (or otherwise) Local UTI names.

I can then automatically patch Info.plist.

Document Icons

A small sample

Application Icons

EmacsIcon1 EmacsIcon2 EmacsIcon3 EmacsIcon4 EmacsIcon5 EmacsIcon6 EmacsIcon7 EmacsIcon8 EmacsIcon9 emacs-card-blue-deep emacs-card-british-racing-green emacs-card-carmine emacs-card-green

Icon base

Base icon motif - used to create all icons above.

Emacs interlock primitives

(An early version)

Emacs interlock primitives

Use and Contributing

Do what you like with these, if you want to use them / modify etc, go ahead.

MIT License applies.

Something went wrong with that request. Please try again.