Skip to content
Switch branches/tags
Go to file

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Interested in Hieroglyph?

That's cool, but you might want to look at IcoMoon first. It's an entirely web-based alternative that's much more flexible, doesn't require as many steps, and should fit any icon-font-related need you have.

Hieroglyph 0.1.5

Icon fonts are a great way to add sharp, flexible icons to your website using @font-face. Chris Coyier thinks they're a good idea, and you should too.

Hieroglyph lets you turn a directory of SVG icons into an SVG font, all simple-like. To produce the remaining web filetypes (eot, ttf, woff) run the font file through Fontsquirrel's generator.

If ImageMagick is installed (optional), hieroglyph will also draw a character sheet PNG for you.


To install the current version from RubyGems:

gem install hieroglyph

To install the most recent version, from GitHub:

git clone && \
cd hieroglyph && \
gem build hieroglyph.gemspec && \
gem install hieroglyph

To do a quick test run, just generate some example glyphs and create a MyFont font like so:

hieroglyph -e && hieroglyph


Create a directory full of SVG glyphs, and run:

hieroglyph -n FontName -g path/to/glyphs -o destination/path

Font creation arguments:

-n, --name NAME               name of the font you want generated (defaults to MyFont)
-o, --output OUTPUT_FOLDER    where to output the generated font (defaults to current folder)
-g, --glyphs GLYPH_FOLDER     where to find glyphs to generate from (defaults to "glyphs")

Misc (using these arguments will not produce a font:

-e, --example                 creats set of example glyphs, including two "bad" SVGs for reference
-v, --version                 display Hieroglyph version
-h, --help                    display all commands


Because hieroglyph only generates SVGs, you'll need to convert the resulting file to other formats yourself. The Font Squirrel Generator is usually the best tool for this, but as of May 2012 it was having trouble uploading/reading SVGs. If you run into this problem, try converting your font to a TTF first with Free Font Converter.

Making Glyphs

  • In a vector editor (Illustrator, Inkscape), create a 1000pt x 1000pt canvas
  • Draw/merge your icon into a single compound path (this is important!)
  • Center it horizontally
  • Vertically, fit it between cap height of 250pt the baseline of 1000pt
  • Save as a-[iconname].svg in your glyphs folder, 'a' being the letter you want to map to. You can also use something like -[iconname].svg to map to a unicode character.

Private Unicode Symbols

Mapping your icons to private-use unicode characters is an extra measure to prevent screenreaders from seeing them. You can see an example of this by running hieroglyph -e, it just involves naming your glyph with a unicode characted before the dash.

The basic range of valid names runs from  to .

To create a full font using FontSquirrel, you'll need to use Expert mode and subset your font with the unicode characters.

Read more: Dan Scotton's tweet, Wikipedia

Known Issues

  • If ImageMagick is installed without Ghostscript fonts, the character sheet process will throw an error. The font is still generated correctly, though.


If you want to help out, great! As an inexperienced dev, I'd appreciate any help I can get — but I would most appreciate it in the form of suggestions, education, and well-justified changes. If you have a specific bug or feature you'd like to pull request for, please let me know about it so we're on the same page.


bundle install
rake install
bundle exec rake


Version notes

Output is less verbose, more colorful

Fix applied for older versions of ruby

Better logging, more characters supported

Officially a ruby gem, character sheet added

Just a .rb script for converting simple SVGs to a font


Generate an icon font from a directory of vector files




No releases published


No packages published