Khan Academy fork of Font Awesome
CSS HTML Ruby Other
Pull request Compare This branch is 8 commits ahead of nsfmc:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

#Font Awesome v3.2.1 ###the iconic font designed for Bootstrap

Font Awesome is a full suite of 361 pictographic icons for easy scalable vector graphics on websites, created and maintained by Dave Gandy. Stay up to date @fontawesome.

Get started at!



  • v3.0.0 - all icons redesigned from scratch, optimized for Bootstrap's 14px default
  • v3.0.1 - much improved rendering in webkit, various bug fixes
  • v3.0.2 - much improved rendering and alignment in IE7
  • v3.1.0 - Added 54 icons, icon stacking styles, flipping and rotating icons, removed SASS support
  • v3.1.1 GitHub milestones
  • v3.2.0 GitHub milestones
  • v3.2.1 GitHub milestones


Font Awesome will be maintained under the Semantic Versioning guidelines as much as possible. Releases will be numbered with the following format:


And constructed with the following guidelines:

  • Breaking backward compatibility bumps the major (and resets the minor and patch)
  • New additions, including new icons, without breaking backward compatibility bumps the minor (and resets the patch)
  • Bug fixes and misc changes bumps the patch

For more information on SemVer, please visit


Hacking on Font Awesome

From the root of the repository, install the tools used to develop.

$ bundle install
$ npm install

Build the project and documentation:

$ bundle exec jekyll build

Or serve it on a local server on http://localhost:7998/Font-Awesome/:

$ bundle exec jekyll serve

Developing more glyphs and building the font

In order to continue adding new glyphs to fontawesome while also retaining the ability to merge in changes from upstream fontawesome, all glyphs that we add should be in the 0xF300-0xF4FF range of the PUA. this means that our glyphs will always show up sorted after the regular fontawesome glyphs.

To start hacking on the font, crack open your editor of choice and work on font/FontAwesome.ufo. Having made your glyph, you should proceed to update the following files:

  • update src/icons.yml with your new glyph and unicode point

  • generate the font in src/assets/font-awesome/font/

  • generate the following fonts:

  • FontAwesome.otf, a cff opentype font

  • fontawesome-webfont.ttf

  • fontawesome-webfont.eot

  • fontawesome-webfont.woff

  • fontawesome-webfont.svg

in the project root, you can now do

    bundle exec jekyll build
    bundle exec jekyll serve

the files that this generates are placed in $ROOT/less/ and in $ROOT/font/. you can copy the fonts into our project's /fonts folder and the less files can go in /stylesheets/fontawesome-package/

Generating webfonts

what a pain, but there are two options: the first is fontsquirrel. if you go this route you must not allow it to subset the webfont at all. since fontawesome's glyphs are all in the private use area, subsetting would cause no glyphs to be output.

there's also FontPrep, a $5 mac app which takes care of doing this locally, but you need to rename everything.