skillfed

glyphsLib

A bridge from Glyphs source files (.glyphs) to UFOs

glyphslib v6.14.0 108.8K downloads/30d#12,536 on PyPI198
Permissive license Apache Software License 2.0 Active released

What it is and what it does

glyphsLib is a Python library that translates between Glyphs.app source files (.glyphs) and the UFO (Unified Font Object) ecosystem, including Designspace files. It acts as a bridge for font designers and developers who work across both formats, enabling programmatic access to Glyphs data structures and conversion workflows. The library provides three main entry points: building UFOs and Designspace files from a Glyphs source, loading UFO objects in memory without writing to disk, and reading/writing Glyphs data as Python objects via the GSFont class.

The package depends on ufoLib2, fonttools, and openstep-plist to handle UFO serialization, Designspace document management, and Glyphs property list parsing. It supports round-trip conversion with options to minimize diffs during back-and-forth editing, making it suitable for workflows where font sources are maintained in both Glyphs and UFO formats. Command-line scripts (glyphs2ufo and ufo2glyphs) are included for direct file conversion without writing Python code.

Use it for:

  • Convert a Glyphs source file to UFO masters and a Designspace file for use with fontmake or other UFO-based font build tools.
  • Load Glyphs data programmatically to inspect or modify font metadata, kerning, or glyph properties without opening Glyphs.app.
  • Round-trip a font between Glyphs and UFO formats while preserving as much metadata as possible for collaborative workflows.
  • Combine multiple UFO files into a single Glyphs source file when migrating from UFO-only design to Glyphs-based production.
  • Automate font source conversions in build pipelines or CI/CD workflows using the command-line scripts or Python API.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Converts Glyphs source files (.glyphs) to UFO and Designspace formats, and vice versa, bridging between Glyphs.app and the UFO ecosystem.

Yes. glyphsLib is actively maintained, has no known vulnerabilities, installs with low friction, and is essential for anyone bridging Glyphs and UFO workflows. The Apache 2.0 license is permissive. Install it if you work with Glyphs files or need to convert between Glyphs and UFO formats; it is the standard tool for this task in the open-source font tooling ecosystem.

Install

glyphslib on PyPI

pip

pip install glyphslib

uv

uv add glyphslib

poetry

poetry add glyphslib

Installing glyphsLib

Before you install

Low friction install with three stable runtime dependencies. Active maintenance with a release 13 days old and commits as recent as 2026-08-01; the project is not archived and has 198 repository stars.

License in practice

Apache Software License 2.0 is permissive, allowing commercial and private use with minimal restrictions beyond attribution and liability disclaimers.

Quickstart

pip install glyphsLib

import glyphsLib

# Convert Glyphs file to UFOs and Designspace
ufos, designspace_path = glyphsLib.build_masters("MyFont.glyphs", "master_ufos")

# Or load UFOs without writing
ufos = glyphsLib.load_to_ufos("MyFont.glyphs")

Requires Python 3.10 or later.

Verify before relying

  • How much of the Glyphs.app Python Scripting API is currently implemented in glyphsLib.classes.
  • Whether round-trip conversions (Glyphs→UFO→Glyphs) preserve all metadata without manual intervention.
  • Performance characteristics when handling large multi-master font files.

Package facts

License Apache Software License 2.0 (permissive)
Python support supports the current Python release (>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 3 — ufoLib2, fonttools, openstep-plist
Maintenance actively maintained — 13 days since the last release
Last repo commit
First released
Downloads 108,823/month — #12,536 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: glyphslib-6.14.0-py3-none-any.whl

Development Status :: 4 - BetaEnvironment :: ConsoleEnvironment :: Other EnvironmentIntended Audience :: DevelopersIntended Audience :: End Users/DesktopLicense :: OSI Approved :: Apache Software LicenseNatural Language :: EnglishOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyTopic :: Multimedia :: GraphicsTopic :: Multimedia :: Graphics :: Editors :: Vector-BasedTopic :: Multimedia :: Graphics :: Graphics Conversion

Tags

glyphs to ufo conversionfont source file format bridgeglyphs designspace exportufo glyphs round-tripfont master managementglyphs file parserdesignspace generation
font-toolingformat-conversionglyphs-app

More Graphics packages