Awesome Typography 
Curated list about digital typography.
Contents
Specifications
OpenType
JavaScript
- OpenType.js -
Read and write OpenType fonts.
- opentype-layout -
Experimental word-wrapping and layout for OpenType.js.
- canvas-text-opentypejs-shim
- Consistent text rendering for
- CharacterMap -
Online Character Map / Glyph / Icon / Font Viewer.
- font - Parse
OTF/TTF file format directory from buffers for metadata.
- fontkit - Advanced
font engine for Node and the browser.
- Minimal-font-generator
- Font’s Hello world.
- simple-cff-builder
- Simple CFF builder for testing fonts with different Type2
charstrings.
- ttf2woff2 -
Convert TTF files to WOFF2.
- ttf2woff -
Convert TTF to WOFF, for Node.js.
- sfnt2woff -
Convert TTF or OTF to WOFF, support Node.js and Browsers.
- ttf2eot - Convert
TTF to EOT for Node.js.
- cubic2quad -
Aproximates cubic bezier curves with quadratic ones.
- SVG font
creator - Create SVG font from separate images.
- node-sfnt - SFNT
parser and generator for Node.js.
- node-unicode-data
- JavaScript-compatible Unicode data generator.
- fontwr - Font
manager for web projects.
- Open
Type playground - Playground for Open Type experiments with
CSS.
- ChromaCheck -
Feature test for color font support in browsers.
- Font Face
Observer - Font load events, simple, small and efficient fontfaceobserver.com.
- Web Font
Loader - Web Font Loader gives you added control when using linked
fonts via @font-face.
- localFont -
Implement localStorage web font caching in seconds.
- Fontello - This
tool lets you combine icon webfonts for your own project.
- GitHub
Font Preview - Adds a preview for fonts & glyphs on GitHub with
OpenType.js.
- unidata - Unicode
Character Database for JavaScript.
- UCD - Unicode
Character Database for JavaScript.
- Character
Set Inspector - Unicode Character Database for JavaScript.
- OpenType -
OpenType font parser in JavaScript.
- opentype-geometry
- Convert Text from OpenType font to three.js 3D.
- Plumin.js -
Create and manipulate fonts in the browser.
- Typr.js - Process
fonts in JavaScript.
- fonteditor-core -
Read, write, transform fonts in JavaScript.
- fontmin - Minify
font seamlessly.
- fontfacegen -
Browser font-face generator for creating browser usable fonts from TTF’s
or OTF’s.
- NType - 4D Type
Extruder.
- node-emoji - 😏
simple emoji support for Node.js projects.
- custom-fonts-in-emails
- Extremely easy way to use custom fonts in emails without having to use
art software.
- Google Fonts
Infos - Extract info out of the Google Fonts archive.
- Hyphenopoly.js -
JavaScript polyfill for client-side hyphenation.
- Hyphenator.js -
JavaScript that implements client-side hyphenation of
HTML-Documents.
- Hypher - Fast and
small JavaScript hyphenation engine.
- Typeset.js -
HTML pre-processor for web typography (hanging punctuation, soft hyphen
insertion, optical margin outdents, small-caps conversion and
punctuation substitution).
- Typeset - TeX
line breaking algorithm in JavaScript.
- otfcc-cubic2quad -
Losslessly turn CFF OTF to TTF using otfcc.
- caryll / shapeops -
Boolean operations and overlap removal for curves.
- OpenType-SVG
Workshop - OpenType-SVG Workshop Web application.
- A-binary-parser-generator
- This project aims to create a tool that can turn a spec file into a
parser skeleton for binary data files such as OpenType fonts, PNG
images, etc.
- font-spider - Smart
webfont compression and format conversion tool.
- Brotli.js A
JavaScript port of the Brotli compression algorithm, as used in
WOFF2.
- ideohint -
Optimized hinter for Ideographs.
- subfont - Command
line tool to inject Google font subsets used glyphs into your page.
- webfont - Awesome
generator of webfont, WOFF2, WOFF, EOT, TTF and SVG.
- grapheme-splitter
- JavaScipt library that breaks strings into their individual
user-perceived characters.
- unicode-properties
- Provides fast access to unicode character properties.
- unicode-tr51-emoji
- Emoji data extracted from Unicode Technical Report #51 v1.0 –
v5.0.
- fontblast -
Give me an icon-font, and I’ll create individual SVG/PNG files for all
icons in it.
- fontplop -
Fast, Simple, & Free Open Source Webfont Converter.
- svgfont2svgicons
- Extract SVG icons from an SVG font.
- glyphhanger -
Your web font utility belt. It shows what unicode-ranges are used on a
web site (optionally for a font-family or for each font-family). It can
also subset web fonts.
- Punycode.js -
Robust Punycode converter that fully complies to RFC 3492 and RFC
5891.
- code-point-at -
ES2015 String#codePointAt() ponyfill.
- Typefont -
First open-source library that detects the font of a text in a
image.
- node-fonttools -
Native bindings to fonttools to decompile and compile fonts.
- font-toolkit -
Font file manipulating in TypeScript.
- variableFont.js -
Handles variable fonts through OpenType.js
Python
- fontTools -
Library for manipulating fonts, written in Python.
- fontmake -
Compile fonts from sources (UFO, Glyphs) to binary (OpenType,
TrueType).
- FontReport -
Tool to create PDF files containing glyph images and information about a
font.
- fontdiff - Tool
for finding visual differences between two font versions.
- kern-dump -
Scripts for working with and analyzing kerning information (ATypI
2013).
- cu2qu -
Cubic-to-quadratic bezier curve conversion.
- Font Bakery
- Tools to prepare font families for inclusion in
github.com/google/fonts.
- glyphNameFormatter
- Generate list of glyphnames from unicode names.
- woffTools -
Library for working with WOFF files.
- pyftfeatfreeze
- With pyftfeatfreeze, you can “freeze” some OpenType features into a
font.
- RoboFab
- Library with objects that deal with data usually associated with fonts
and type design.
- pyfontaine -
Python tool to check font files for language/character set support.
- Glyph Nanny
- Live report about potential drawing issues in your glyph.
- Kernagic -
Semi-automatic font spacing tool.
- Huerta
Tipográfica Letterspacer - HT Letterspacer is a tool for spacing
fonts.
- OpenType-SVG
Tools - Tools and sample files for making OpenType-SVG fonts.
- boxDrawing.py
- Python script to draw all the box drawing characters and block
elements based on parameters.
- scfbuild - Create
OpenType-SVG color fonts from a set of SVG source files.
- color-emoji
- Tool to build color fonts using Google color-font format
(CBDT/CBLC).
- monospacifier.py
- Convert variable-pitch fonts to monospace (useful for unicode and
indentation-friendly programming).
- edf825/SVG-OpenType-Utils
- SVG in OpenType Utils (!Old: 2013).
- Icon Font to
PNG - Python script (and library) for exporting icons from icon
fonts (e.g. Font Awesome, Octicons) as PNG images.
- Compositor -
Basic OpenType GSUB and GPOS layout engine.
- UFO Extractor
- Tools for extracting data from font binaries into UFO objects.
- Noto Tools -
Noto fonts support tools and scripts.
- compreffor -
CFF table subroutinizer for FontTools.
- font-line
- OpenType vertical metrics reporting and font line spacing adjustment
tool.
- Flat - Library for creating
and manipulating digital forms of fine arts.
- PageBot -
Scripted page layout program, as application inside Drawbot generating
high quality typographic documents that support high quality fonts.
C
- otfcc - Parses &
writes SFNT structures.
- AFDKO -
Adobe Font Development Kit for OpenType. See AFDKO
Overview.
- stb_truetype - Parse,
decode, and rasterize characters for TrueType fonts. Single header
file.
- FreeType - Freely available
software library to render fonts.
- Raqm - Library
for complex text layout.
- SheenFigure -
Implementation of advanced typographic tables of OpenType
specification.
- SheenBidi -
SheenBidi is the world’s most sophisticated implementation of latest
unicode bidirectional algorithm.
- freetype-gl -
OpenGL text using one vertex buffer, one texture and FreeType.
- WOFF - WOFF conversion
reference code.
C++
- font to svg -
Render characters from font files into an SVG path.
- LCDF
Typetools - Utilities for manipulating OpenType, PostScript Type 1,
and Multiple Master fonts.
- HarfBuzz -
HarfBuzz OpenType text shaping engine.
- FontView - Demo
app that displays fonts with a free/libre/open-source text rendering
stack: FreeType, HarfBuzz and Raqm.
- Text
rendering tests - Test suite for text rendering.
- FTGLES - TrueType
font rendering library for OpenGL ES on iOS devices (iPad and
iPhone).
- TTFPatch - Mirror of
TTFPATCH by Wolfram Esser, modified to support fonts conforming to newer
OTF specifications, built for modern versions of Windows.
- stb-truetype-opengl-examples
- Examples of TrueType font rendering in C++11 using stb_truetype
library and OpenGL 3+.
- WOFF2
C
- NRasterizer -
Simple and clean TrueType font renderer written purely in c#.
- Typography -
C# Font Reader (TrueType / OpenType / OpenFont), Glyphs Layout and
Rendering.
- SixLabors.Fonts -
Font loading and drawing library.
- SharpFont -
Pure managed TTF / OTF reader and renderer.
Java
- sfntly - Library
for Using, Editing, and Creating SFNT-based Fonts.
- Emoji-Tools
- Multiple useful tools to help Android and iOS/OSX developers with
creating and modifying Emoji Font files.
- Tehreer-Android -
Library that gives full control over text related technologies such as
bidirectional algorithm, open type shaping engine, text typesetting and
text rendering.
Ruby
- emoji-extractor -
Extracts high-resolution emoji pngs from Apple Color Emoji.ttf.
- font - Command-line
font manager.
Go
- font - Parsing
OpenType fonts in Golang.
- freetype - Freetype
font rasterizer in Go.
Rust
PHP
- PHP Font Lib -
Library to read, parse, export and make subsets of different types of
font files.
- JoliTypo -
Microtypography fixer for the web.
- PHP
SmartyPants - SmartyPants is a free web typography prettifyier tool
for web writers. It easily translates plain ASCII punctuation characters
into “smart” typographic punctuation HTML entities.
Perl
Processing
- Fontastic -
Processing library to create TrueType font files.
Clojure
- opentype.clj -
A simple API over OpenType.js for Clojure. Runs on the JVM.
UFO
unifiedfontobject.org - ufo-spec -
The official Unified Font Object specification source files. - ufoLib -
Low-level UFO reader and writer. - ufoNormalizer
- Tool that will normalize the XML and other data inside of a UFO. - ufo2ft - UFO to
FontTools. - ufoJS -
JavaScript API for the Unified Font Object.
Non-Free
- Fontself Adobe Illustrator
& Photoshop extensions for creating vector and bitmap fonts by
Drag&Drop. Make fonts the easy way!
- Robofont - UFO based (Mac
only).
- Glyphs - Font editor (Mac
only).
- Prototypo -
Web based font generator with a parametric approach.
- FontLab
Studio - Font editor for font professionals. Version 5 for Mac and
Windows.
- DTL OTMaster - Highly
sophisticated application for reviewing, editing and altering tables and
contours of fonts with a snft file structure, as there are CFF and TTF
flavored OpenType fonts, TrueType fonts and TrueType Collection
fonts.
- 010 Editor -
Professional text and hex editing with Binary Templates technology. OpenType
template.
- Synalyze It! - Reverse
Engineering and Binary File Analysis made easy. OpenType
template.
- TransType 4
- Universal font converter.
Free
- FontForge -
Free (libre) font editor for Windows, Mac OS X and GNU+Linux.
- TruFont - UFO3 font
editor. À l’ancienne.
- Metapolator - Web-based
GUI for creating UFO and Metafont fonts.
- Birdfont -
Font editor which can generate fonts in TTF, EOT, SVG and BF
format.
- Glyphr Studio - Free,
web-based font editor, focusing on font design hobbyists.
- DTL OTMaster Light -
In the Light editions of dtl OTMaster only the saving of files is
disabled. Checking fonts and exporting OpenType Layout features files, be
and ik formats, and Character Layout (.cha) files is possible
though.
- fonteditor -
Web-based TTF font editor, live at fontstore.baidu.com.
- FontArk FontArk is an
innovative browser-based font editor, font creator (BETA), featuring the
most versatile real-time multiple glyph editing system.
- TTFEdit -
TrueType fonts editor. Allows for editing vector-based glyphs.
- OpenType-SVG-Font-Editor.
- SdfFontDesigner -
A generator of bitmap font, based on ttf & otf, rendered with custom
shaders in glsl
Font Validator
Font Testing Websites
- Axis-Praxis - Axis-Praxis
is a website for playing with OpenType variable fonts in modern
browsers.
- Bulletproof Font
Tester - Test your local or remote fonts with the proofing tool
developed by a type designer, for type designers. Check out kerning,
OpenType features, and language coverage. Explore and animate variation
axes in variable fonts.
- Cyreal.org Font
Testing Page - The Font Testing Page is a tool primarily intended
for type designers to ‘Drag and Drop’ and quickly test their fonts into
a browser (active fork of Impallari’s testing page).
- Font Gauntlet - The Dinamo
Font Gauntlet is a tool for proofing, generating and animating
fonts.
- Wakamai Fondue - The tool
that answers the question “what can my font do?”
- TypeNetwork
TypeTools - Layout tools for exerimenting with variable fonts in
various ways.
Miscellaneous
- TypeDrawers - Discussion forum
for professionals and enthusiasts in the fields of typeface design,
lettering, and typography.
- Font
Squirrel Webfont Generator - Upload OTF or TTF fonts, receive
webfonts.
- The State of
Web Type - “Can I Use” for typography.
- UseModify - Open Source
typefaces.
- ofont - Web
interface for font collections (used by usemodify.com)
- Git
for Type Designers
- designwithfontforge.com
- Book about how to design new typefaces with FontForge. See designwithfontforge.com.
- FontTesting
Page - Webpage for testing typefaces.
- CSS
Utility OpenType - Simple, CSS utility classes for advanced
typographic features. See it here.
- Alfred
Special Characters - Typefacts Special Characters Workflow for
Alfred 3.
- Typomanie.fr
Ressources
- Drawing
good paths Tutorial - Badly drawn outlines can cause headache. Your
letters may look mangled or not appear at all. You can avoid these
difficulties if you keep a few basic rules in mind.
- Deep
Into OpenType Features - What are OpenType features?
- The
A-Z of typographic terms - Typography terms in images.
- Emoj - Find
relevant emoji from text on the command-line 😮 ✨ 🙌 🐴 💥 🙈.
- Emoji Wrap Monthly Newsletter -
Bite-sized summary of what’s happening in the world of emoji and
Unicode.
- Crypto Puzzles
- Functions for encryption and stegonagraphy as puzzles or brain
teasers. Online
demo.
- FDBP - Font Development
Best Practice documentation.
- UnicodeChecker -
Explore and convert Unicode.
- unicodes -
Browse all of the unicodes.
- Method of Action - Method of Action
is a collection of tools, games and articles to help you learn
design.
- Encodings and character
sets for Programmers - What every programmer absolutely, positively
needs to know about encodings and character sets to work with text.
- Kernall - Kerning
and letterspacing research.
- Type Facet -
Collection of Python scripts for working with fonts. See TypeFacet
Autokern
- OpenType
feature reference - Documentation and other info about advanced font
features
- Typography Supply An
inventory of typographic tools.
- OpenType
Feature Bundle - Syntax highlighting and snippets for OpenType
feature development in TextMate/Sublime Text.
- Type Tools
dotfiles - Setup for type tools.
- AGL &
AGLFN - AGL / AGLFN (Adobe Glyph List / For New Fonts) simply
provides mappings from glyph names to Unicode scalar values. See
specification.
- The Terrible Secret of
OpenType Glyph Substitution
- I Can
Variable Font - Tips for making variable fonts.
- You,
Me And The Emoji: Character Sets, Encoding And Emoji
- Emoji Rolodex -
Resourceful links to emoji-related sites, plug-ins, and apps.
- OpenType_Table_Source
- Documentation for Monotype’s OpenType Layout Source File Format.
- jenskutilek/TypoLabs2016
- Code examples from Jens Kutilek’s TypoLabs workshop.
- W3C - Fonts on the Web -
Fonts on the Web.
- W3C - WebFonts Working
Group
- Twitter Emoji
(Twemoji) - The Twemoji library offers support for +2k emojis,
including skin tone and gender modifiers.
- EmojiOne -
EmojiOne™ is the open emoji standard.
- No
@font-face Syntax
will ever be Bulletproof, Nor Should It Be
- Typography
is impossible - The practical guide to why laying out type never
quite does what you want.
- JavaScript has
a Unicode problem - The way JavaScript handles Unicode is…
surprising, to say the least.
- homebrew-webfonttools
- Homebrew formulae for font tools.
- Font
Falsehoods - Falsehoods programmers believe about fonts.
- Letterpress Digest - The
new podcast about letterpress.
- fontspeed - Newsletter on
font loading by @zachleat.
- Font-Awesome-SVG-PNG
- Font Awesome split to individual SVG and PNG files of different sizes
along with Node.js based generator.
Fonts
- The Gilbert
Font - OpenType-SVG font named after Gilbert Baker, the creator of
the rainbow flag.
- Nanofont - Nano
font for testing font format support (TrueType, WOFF, WOFF2).
- FiraSystemFontReplacement
- Modified version of the Fira Sans fonts to replace the default system
font on Mac OS X 10.10 and 10.11.
- SansBullshitSans
Font - Every buzzword will be replaced by a Comic Sans-styled
censorship bar.
- Blackout - One font
to blackout them all.
- Compyx - 8-bit
Multicolor OpenType font.
- LapisLegit -
OpenType-SVG testfont.
- AIFont - The fist
Chinese font that generated artificial intelligent.
- Noto Fonts -
Noto’s goal is to provide a beautiful reading experience for all
languages.
- Noto Emoji -
Color and Black-and-White Noto emoji fonts, and tools for working with
them.
- EmojiOne
COLR/CPAL - EmojiOne font in COLR/CPAL layered format.
- EmojiOne
OpenType-SVG - Color emoji OpenType-SVG font using EmojiOne Unicode
9.0 emoji with diversity and country flags.
- Twitter Color
Emoji Font - Color emoji OpenType-SVG font using Twitter Unicode 9.0
emoji with diversity and country flags.
- Bixa Color - Building Bixa
Color, a color font for the web pixelambacht.nl/2016/building-bixa-color/.
- fontwr-fonts -
Fonts repository for fontwr.
- Bungee - Chromatic
signage typeface for vertical and horizontal setting.
- Aerial Bold Aerial
Bold is the first map and typeface of the earth.
- wavefont
Typeface for rendering data: waveforms, spectrums, diagrams, bars
etc.
- Adobe
Variable Font Prototype - Variable font example in OpenType-CFF2
& TrueType formats.
- Microsoft open source
fonts - Central location to share Microsoft’s open source
fonts.
- Reinebow -
OpenType-SVG color font.
- Freizer -
OpenType-SVG color font.
- Multicoloure
- OpenType-SVG color font based on Multicolore Vector Typeface.
- null-ttf -
This font is null. It’s the smallest possible TrueType binary still
valid on OS X and with most of its bytes wiped out.
- Monotype
Variable Font Demo
- CFF opcode test
fonts - OTF fonts for testing CFF opcode support.
- TestFont - Font
family for testing OpenType implementations.
- BuffaloGals -
Buffalo Gals is one of the very first “Variable Fonts”, originally made
in 1992 for an Apple TrueType GX developer CD.
- Adobe Fonts /
Source Emoji - Source Emoji is an emoji font project that began
development in order to provide monochrome representative glyphs to the
Unicode Consortium for emoji candidates that have been accepted by the
UTC (Unicode Technical Committee) but have not yet been fully ratified
to become a part of the official standard.
- Hasklig - Code font
with monospaced ligatures.
- Firefox OS Emojis -
Emoji set from Mozilla available as SVGs and TTF font.
- Iosevka - Slender
typeface for code, from code.
- Raleway -
Elegant sans-serif, designed in a single thin weight.
- Adobe
NotDef - Maps 1,111,998 Unicode code points to 2,048 .notdef
glyphs.
- Adobe Blank
- Maps 1,111,998 Unicode code points to 2,048 non-spacing and
non-marking glyphs.
- Adobe Blank
2 - Based on Adobe Blank, and differs mainly in that the number of
glyphs has been reduced to only two, thanks to the Format 13 ‘cmap’
subtable.
- Width Test -
For testing width-related GSUB features, specifically ‘fwid’ (Full
Widths), ‘hwid’ (Half Widths), ‘twid’ (Third Widths), and ‘qwid’
(Quarter Widths).
- Source Han
Sans - Set of OpenType/CFF Pan-CJK fonts.
- Source Han
Serif - Set of OpenType/CFF Pan-CJK fonts.
- Open Emoji - Will
provide open and free access to visual communications technology, namely
emoji, for the entire universe.
- Overpass -
Open source font family inspired by Highway Gothic.
For more, check awesome-fonts!
TrueType
Books
Videos
Contribute
➡️Pull request! (Or open an issue here).
License

To the extent possible under law, Joël Galeran has waived all
copyright and related or neighboring rights to this work.