Skip to main content

CI Build Status PyPI

Google Fonts Tools

This project contains tools used for working with the Google Fonts collection, plus Google Fonts Glyph Set Documentation in the /encodings subdirectory. While these tools are primarily intended for contributors to the Google Fonts project, anyone who works with fonts could find them useful.

Additional documentation in /docs

The tools and files under this directory are available under the Apache License v2.0, for details see LICENSE

Google Fonts Official Glyph Sets

The glyph sets useful for type designers that were previously hosted in this repository have been moved to:

https://github.com/googlefonts/glyphsets/tree/main/GF_glyphsets

Tool Usage Examples

Compare fonts:

gftools compare-font font1.ttf font2.ttf

Add a METADATA.pb to a family directory

gftools add-font ../ofl/newfamily

Sanity check a family directory:

gftools sanity-check --repair_script=/tmp/fix.py ../ofl/josefinsans
gftools sanity-check --repair_script=/tmp/fix.py --fix_type=fsSelection ../ufl

Check a font family against the same family hosted on Google Fonts:

gftools qa [fonts.ttf] -gfb -a -o qa

Check a variable font family against the same family as static fonts:

gftools qa -f [vf_fonts] -fb [static_fonts] --diffenator --diffbrowsers -o ~/path/out

Fix a non hinted font

gftools fix-nonhinting font_in.ttf font_out.ttf

Package and PR a family update to google/fonts. Find much more detailed documentation in /docs/gftools-packager.

gftools packager "Family Sans" path/to/local/google/fonts -py

Tool Installation

Please note that gftools requires Python 3.7 or later.

Please install these tools using pip:

pip install gftools

If you would like to use gftools qa:

brew install pkg-config # needed for interpolation checks
pip install 'gftools[qa]'

Tool Requirements and Dependencies

gftools packager needs the command line git program in a version >= Git 2.5 (Q2 2015) in order to perform a shallow clone (--depth 1) of the font upstream repository and branch. This is not supported by pygit2/libgit2 yet.

gftools manage-traffic-jam requires two private files which contain sensitive data. Ask m4rc1e for them.

Google Fonts API Key

In order to use the scripts gftools qa and gftools family-html-snippet, you will need to generate a Google Fonts api key, https://developers.google.com/fonts/. You will then need to create a new text file located on your system at ~/.gf-api-key (where ~ is your home directory), which contains the following:

[Credentials]
key = your-newly-generated-googlefonts-api-key

Upstream project repos

Developers

Releasing a New Version

  1. Commit and push your final changes for the new version.
  2. Create an annotated Git tag of the version number, with a prepended "v", like so: git tag -a v3.1.1
  3. Write the release notes into the tag message. They will show up as release notes on the release page in GitHub.

Metadata

Release files for gftools 0.10.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for gftools 0.10.3
File Size Uploaded
gftools-0.10.3.tar.gz 8.5 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for gftools 0.10.3
File Interpreter ABI Platform
gftools-0.10.3-py3-none-any.whl Python 3 none any Details

Total release size: 10.6 MB

Release files / gftools-0.10.3.tar.gz

Download URL gftools-0.10.3.tar.gz
Size 8.5 MB
Tags Source
SHA-256 checksum
How to use checksums
1295277d618c93f328c1a84cda84d9f2a2fc487c75769e8db13304c15b7db3c6
BLAKE2b-256 checksum
How to use checksums
d1581744498e2cc2d151b90b6e06ca25faae9ec25c2bbf6510359f713ebcd9a4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 12, 2026.

Transparency log

Release files / gftools-0.10.3-py3-none-any.whl

Download URL gftools-0.10.3-py3-none-any.whl
Size 2.1 MB
Tags Python 3
SHA-256 checksum
How to use checksums
bd25679531c3b066489a1e3cacfe7e90dd7a3be734a381075b050e483a0b3bde
BLAKE2b-256 checksum
How to use checksums
4f61239902c4cfb3965b2ab63c1306f0ac745309436d0c00221a9650fc6d3b39
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 12, 2026.

Transparency log

Release history Release notifications | RSS feed

0.9991

2 release files

0.10.4

2 release files

This release

0.10.3 This release

2 release files

0.10.2

2 release files

0.9.99

2 release files

0.9.98

2 release files

0.9.97

2 release files

0.9.96

2 release files

0.9.95

2 release files

0.9.94

2 release files

0.9.93

2 release files

0.9.91

2 release files

0.9.90

2 release files

0.9.89

2 release files

0.9.88

2 release files

0.9.87

2 release files

0.9.86

2 release files

0.9.85

2 release files

0.9.84

2 release files

0.9.83

2 release files

0.9.82

2 release files

0.9.79

2 release files

0.9.77

2 release files

0.9.76

2 release files

0.9.75

2 release files

0.9.70

2 release files

0.9.69

2 release files

0.9.68

2 release files

0.9.67

2 release files

0.9.63

2 release files

0.9.62

2 release files

0.9.61

2 release files

0.9.59

2 release files

0.9.58

2 release files

0.9.57

2 release files

0.9.52

2 release files

0.9.49

2 release files

0.9.48

2 release files

0.9.45

2 release files

0.9.44

2 release files

0.9.41

2 release files

0.9.40

2 release files

0.9.39

2 release files

0.9.38

2 release files

0.9.37

2 release files

0.9.35

2 release files

0.9.33

2 release files

0.9.32

2 release files

0.9.31

2 release files

0.9.29

2 release files

0.9.27

2 release files

0.9.24

2 release files

0.9.23

2 release files

0.9.21

2 release files

0.9.20

2 release files

0.9.18

2 release files

0.9.16

2 release files

0.9.14

2 release files

0.9.13

2 release files

0.9.11

2 release files

0.9.10

2 release files

0.9.9

2 release files

0.9.8

2 release files

0.9.7

2 release files

0.9.6

2 release files

0.9.5

2 release files

0.9.4

2 release files

0.9.2

2 release files

0.9.1

2 release files

0.9.0

2 release files

0.8.8

2 release files

0.8.7

2 release files

0.8.6

2 release files

0.8.5

2 release files

0.8.4

2 release files

0.8.3

2 release files

0.8.2

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.4

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.2

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.5

1 release file

0.4.4

1 release file

0.4.3

1 release file

0.4.2

1 release file

0.4.1

1 release file

0.4.0

1 release file

0.3.15

1 release file

0.3.14

1 release file

0.3.13

1 release file

0.3.12

1 release file

0.3.11

1 release file

0.3.10

1 release file

0.3.9

1 release file

0.3.8

1 release file

0.3.7

1 release file

0.3.6

1 release file

0.3.5

1 release file

0.3.4

1 release file

0.3.3

1 release file

0.3.2

1 release file

0.3.1

1 release file

0.3.0

1 release file

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page