Skip to content
Compile fonts from sources (UFO, Glyphs) to binary (OpenType, TrueType).
Branch: master
Clone or download
madig Merge pull request #528 from googlei18n/davelab6-help
Lib/fontmake/ tweak help strings
Latest commit a5c386c Feb 18, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
test Prevent expand_features_to_instances from reaching run_from_ufos Feb 5, 2019
.pre-commit-config.yaml Use stand-alone flake8 pre-commit hook Feb 4, 2019
.travis.yml Travis: try to make pre-commit run only on Py3 Feb 4, 2019
LICENSE Add license Nov 17, 2015
README.rst README: drop unnecessarily verbose installation instructions and ment… Oct 19, 2018
setup.cfg Bump requirements for fontTools Feb 5, 2019


Travis Build Status Python Versions PyPI Version


This library provides a wrapper for several other Python libraries which together compile fonts from various sources (.glyphs, .ufo) into binaries (.otf, .ttf).


Fontmake requires Python 2.7, 3.5 or later.

Releases are available on PyPI and can be installed with pip.

pip install fontmake

Use the -U, --upgrade option to update fontmake and its dependencies to the newest available release:

pip install -U fontmake

Alternatively, you can download the git repository and install from source:

git clone
cd fontmake
pip install .

Developers who want to quickly test changes to the source code without re-installing, can use the "--editable" option when installing from a local source checkout:

pip install -e .

It is recommended to install fontmake inside a "virtual environment" to prevent conflicts between its dependencies and other modules installed globally.

Alternatively, we also provide a self-contained, standalone version of fontmake that only requires a Python 3.6 or 3.7 installation to run. These are available to download from the fontmake Github releases page. You simply unzip them and run the included fontmake command from your console.


After installation, you can use the fontmake console script. For example:

fontmake -g MyFont.glyphs  # outputs binary font files for masters only

Use fontmake -h to see options for specifying different types of input and output.

You can also use fontmake as a module to run intermediate steps in the build process, via methods of the fontmake.font_project.FontProject class.

You can’t perform that action at this time.