Skip to content
Font quality assurance tool written in Python 3.
Python PureBasic Other
Branch: master
Clone or download

Latest commit

felipesanches new check:
FAIL when upstream repo has ZIP files
(issue #2903)
Latest commit 64732ed Jun 1, 2020


Type Name Latest commit message Commit time
Failed to load latest commit information.
.github added a couple more steps to the "To Do" list in the PR template Mar 8, 2019
Lib/fontbakery new check: Jun 1, 2020
data Update metadata weight checks for VFs Jun 1, 2020
docs update version on docs/source/ May 29, 2020
prebuilt/workarounds/ftxvalidator/ssh-implementation Remove unnecessary dependencies. Oct 17, 2018
snippets fix/rename script for running checks agains a full collection Mar 6, 2020
tests new check: Jun 1, 2020
.coveragerc Coverage: Pick up .tox*/ subdirectories Apr 18, 2018
.editorconfig Editorconfig: trim trailing whitespace Apr 20, 2018
.gitignore Add docs/_build and venv to gitignore Sep 24, 2018
.pre-commit-config.yaml Update pre-commit hooks Jul 23, 2018
.readthedocs.yml [docs] add readthedocs.yml settings file Nov 5, 2018
.travis.yml Deprecating FontForge checks May 6, 2019
AUTHORS.txt Replaced old fontbakery website with fontbakery-cli contents #461 Oct 22, 2014 new check: Jun 1, 2020 Create Oct 12, 2018 Update Oct 12, 2018
CONTRIBUTORS.txt adding a few scripts that were missing on Jul 3, 2017
LICENSE.txt Adding full text of the Apache 2.0 License to LICENSE.txt Jul 16, 2013 Move left-over scripts in bin/ to snippets/ Apr 6, 2018 change readme logo link to "http" Apr 14, 2020
requirements.txt updating versions of dependencies at requirements.txt May 29, 2020
setup.cfg Only ignore deprecation warnings from (from|to)string Oct 8, 2018 Fix typo Jan 23, 2020
tox.ini filenames with underscore characters are considered invalid Sep 24, 2019

Latest PyPI Version Python Travis Build Status License: Apache 2.0

Font Bakery

Font Bakery is a command-line tool for checking the quality of font projects.

For a quick overview, check out the list of checks currently offered.

And for a full introduction check out our documentation at Read The Docs.

Font Bakery has an active community of contributors from foundries around the world, including Adobe Fonts, Dalton Maag, Type Network, and Google Fonts. Please join our developer chat channel at

Font Bakery is not an official Google project, and Google provides no support for it. However, throughout 2018, 2019 and 2020 the core project maintainers Felipe Corrêa da Silva Sanches and Lasse Fister are commissioned by the Google Fonts team to maintain it.


Font Bakery is available under the Apache 2.0 license.


See the Font Bakery Installation Guide for your platform:


Font Bakery is primarily a Terminal app, learn more in the Command Line Usage Guide.

If you write little Python scripts in your workflow, you can easily write custom checks.

For full developer documentation, check out (a hosted and compiled copy of contents in the /docs directory.)


See the guide to Getting Started as a Contributor.

Web Dashboard

A web dashboard for monitoring check-results of project collections is at


The project was initiated by Dave Crossland in 2013 to accelerate the onboarding process for Google Fonts. In 2017 Lasse Fister and Felipe Sanches rewrote it into a modern, modular architecture suitable for both individuals and large distributors. Felipe has maintained the check contents since 2016.

Lasse also began a sister project, Font Bakery Dashboard: A UI and a cloud system that scales up for checking 1,000s of font files super fast and in parallel, by using 1,000s of "container" virtual machines. See his TypoLabs 2018 talk on YouTube and its presentation deck.

Most of the checks are for OpenType binary files, and project metadata files. (Currently, the Google Fonts METADATA.pb files are supported.)

If you are developing a font project publicly with Github (or a similar host) you can set up a Continuous Integration service (like Travis) to run Font Bakery on each commit, so that with each update all checks will be run on your files.


You can’t perform that action at this time.