Google Sans Code: Google's Monospace Family, Built From Glyphs Packages
The Google Sans Code font family
At a glance
- What is it?
- Google Sans Code is a variable monospace font family from Google Fonts, compiled from .glyphspackage sources with fontc. It suits developers who want a Google-branded coding font and are willing to build it themselves or install a release binary.
- Who is it for?
- Adopt Google Sans Code if you want a monospace face with Google's brand character, a 300 to 800 weight axis, and an OFL-1.1 licence that permits bundling in editors and terminals. Do not adopt it if you need a Nerd Font glyph set, a bitmap or CJK-complete terminal font, or a family you can patch without recompiling.
- Can I use it commercially?
- Check first. The repository uses a licence we do not classify automatically, so read its LICENSE file before any commercial use.
- Is it still maintained?
- Yes. The repository last received commits 18 days ago.
- What is it written in?
- Mainly Python, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 4, 2026, and from our analysis. They are not legal advice.
Editorial analysis
What Google Sans Code is and who it is for
Google Sans Code is a fixed-width font family. The README describes it as bringing "clarity, readability, and a bit of Google's distinctive brand character to code," and states that it stems from Google's brand type design aesthetic and was developed for products such as Gemini and Android Studio. The design goal stated in the README is that each character remains distinct even at small sizes, and that the family is tuned for the typographic demands of programming language syntax.
The intended audience is narrow. This is not a general-purpose text font, and it is not a terminal font with a patched glyph set. It is a coding face for people who already work inside Google's visual language, or who want a monospace family whose Latin coverage and weight range come from a single variable file rather than a folder of static weights.
The README dedicates the project to the memory of Chris Simpkins, describing his efforts as foundational. That is worth noting because the project is a font repository first and a software project second: most of the repository is glyph sources and QA configuration, not application code.
How the font is built: glyphspackage sources and the fontc compiler
The build pipeline is the most distinctive part of this repository. The README states that the project is compiled from glyphspackage format source files to TTF format variable font binaries using the fontc font compiler. Two source packages exist at the top level: sources/GoogleSansCode.glyphspackage for the Roman face and sources/GoogleSansCode-Italic.glyphspackage for the Italic face.
The compiler is pinned. requirements.txt is autogenerated by uv and lists fontc==0.6.0 alongside fonttools==4.62.1. The README advises using the same release version of the fontc compiler that the repository uses for its releases, and points readers at requirements.txt to find the version after the == in the fontc line. That pinning matters: a font compiler in active development can change how outlines, component decomposition or variable axes are emitted between versions.
Variable axes are declared in the output filenames. The README lists one axis, wght, with a range of 300 to 800 and a default of 400. The compiled binaries are named GoogleSansCode[MONO,wght].ttf and GoogleSansCode-Italic[MONO,wght].ttf, which is the standard OpenType naming convention for a variable font that exposes a MONO axis and a wght axis. The README's feature list mentions only wght explicitly, so the MONO axis is visible in the filenames and build commands but not documented as a user-facing axis in the README text.
The Makefile adds a second stage for Android. The android target copies the two variable fonts into fonts/android, then runs scripts/prune_base.py and scripts/prune_hvar.py on each. Those scripts strip table data that Android does not need, which suggests the full variable binaries carry more than the platform requires.
Installing Google Sans Code and using it in an editor
The README gives one installation path for end users: download the latest variable font release files from the releases page and install the fonts on your operating system. The download zip archive includes separate Roman and Italic variable fonts. There is no package manager step, no npm package and no system repository entry documented in the README.
If you only want the font, that is the whole procedure. Download the archive, unpack it, and install the two variable TTFs through your operating system's font installer. Because these are variable fonts, your editor must support variable font axes to expose the full 300 to 800 weight range; otherwise you get the default instance at weight 400.
If you want to build from source, the README gives the clone command first.
git clone https://github.com/googlefonts/googlesans-code.gitAfter cloning, navigate to the root of the repository directory. The README then shows the two fontc invocations directly, one per face.
fontc sources/GoogleSansCode.glyphspackage --flatten-components --decompose-transformed-components --output-file fonts/variable/GoogleSansCode[MONO,wght].ttffontc sources/GoogleSansCode-Italic.glyphspackage --flatten-components --decompose-transformed-components --output-file fonts/variable/GoogleSansCode-Italic[MONO,wght].ttfBoth commands pass --flatten-components and --decompose-transformed-components. The README states the compiled fonts land in fonts/variable. The Makefile wraps the same two commands in a build target and manages a Python virtual environment for the dependencies.
make buildRunning make build creates a venv directory, installs requirements.txt into it, removes and recreates the fonts directory, and touches a build.stamp file so subsequent runs can skip the work. The Makefile also exposes make test, which the help target describes as testing the fonts with fontbakery using a separate venv-test environment built from requirements-test.txt. The README does not document an uninstall step for either the released fonts or the virtual environments.
Where the documentation stops: ligatures, Nerd Font patching and platform packages
The README's feature list names stylistic sets and localized forms under OpenType features, plus a wght axis from 300 to 800 and extended Latin with support for multiple languages. It does not mention programming ligatures. Nothing in the repository states that Google Sans Code ships ligatures for sequences like arrows or comparison operators, so anyone choosing a coding font specifically for ligature rendering should treat that as unconfirmed rather than assume it. The same silence applies to Nerd Font glyph coverage: there is no mention of patched builds, icon glyphs or a Nerd Fonts release, and the repository layout contains no patch scripts for that purpose.
Platform packaging is also undocumented. The README does not describe Arch, Homebrew, Debian or any distribution package, and the repository has no packaging directory. The Android target in the Makefile produces pruned files under fonts/android, but the README does not explain how those files are meant to be consumed or whether they are published anywhere.
The build path has a real failure mode too. The README warns that fontc is in active development and recommends matching the compiler release to the repository's own. If you install a different fontc version, the command line may accept the same flags but produce different output, and the README does not document any compatibility matrix beyond the pinned line in requirements.txt. There is also no documented rollback procedure for a bad build: the Makefile deletes the fonts directory with rm -rf before rebuilding, so a failed run leaves you without the previous artifacts unless you kept a copy.
Google Sans Code compared with JetBrains Mono and Consolas
The closest comparison is JetBrains Mono. JetBrains Mono is distributed by JetBrains as a static family with its own release cadence and a well-known ligature set. Google Sans Code differs in two structural ways. First, it ships as a variable font with a wght axis from 300 to 800, so one file covers the weight range instead of separate static weights. Second, its sources are glyphspackage files compiled with fontc, which means anyone modifying the design has to run a Rust font compiler rather than edit outlines in a conventional font editor and export.
Consolas is a different kind of alternative. It is a proprietary Microsoft font that ships with Windows and Visual Studio, and it is not open source. Google Sans Code is licensed under OFL-1.1, so it can be redistributed and bundled, which Consolas cannot. If your constraint is that a font must be embeddable in a product you ship, that difference decides the choice before design taste enters the picture.
Neither comparison tells you which face reads better in your editor. The README makes a legibility claim, but legibility at small sizes depends on hinting, rendering stack and screen density, and the README does not publish rendering samples beyond the sample image referenced in the About section.
Release cadence, CI and what upgrading costs
The repository is not archived, and the last push was on 2026-09-18. Recent releases are v7.001 on 2026-06-09, v7.000 on 2026-04-13 and v6.001 on 2025-08-21. That is a modest cadence: roughly two releases in 2026 so far, with a longer gap before them.
The README describes the CI behaviour. On each push to main, and on pull request branch commit pushes, the fonts are compiled and tested with a quality assurance test suite. Compiled TTFs and QA reports are downloadable from the Actions tab on the Summary page of the latest run. When a git tagged version release is created on GitHub, release fonts are uploaded to that release. So the upgrade path for a consumer is: watch the releases page, download the new archive, and replace the installed fonts.
That upgrade is cheap for users and more expensive for anyone building from source. Because the compiler is pinned to fontc==0.6.0 and the README recommends matching versions, a source build ties you to a specific compiler release. Upgrading the font sources without checking requirements.txt can put you on a mismatched toolchain, and the repository does not document what changes between compiler versions.
The licence is SIL Open Font License 1.1, with the full text in OFL.txt. The README links to openfontlicense.org for the FAQ and points to AUTHORS.txt for copyright holders, including Google LLC, and to TRADEMARKS.md for naming issues. OFL-1.1 permits use, modification and redistribution of the font software, including bundling with other software, provided the licence conditions are met. The trademark file matters separately: the licence covers the font software, not the Google name, so redistributing a modified version under the Google Sans Code name is a distinct question from the copyright grant. This is a description of what the repository states, not legal advice; read OFL.txt and TRADEMARKS.md before shipping a modified build.
Editorial conclusion
Adopt Google Sans Code if you want a monospace face with Google's brand character, a 300 to 800 weight axis, and an OFL-1.1 licence that permits bundling in editors and terminals. Do not adopt it if you need a Nerd Font glyph set, a bitmap or CJK-complete terminal font, or a family you can patch without recompiling. Before installing, verify the release archive contains both Roman and Italic variable fonts, check that your editor accepts the [MONO,wght] variable axes, and confirm the fontc version pinned in requirements.txt matches the one used for the release you download.
Frequently asked questions
What is the Google Sans Code font?
It is a fixed-width font family from Google Fonts, designed to bring Google's brand type character to code and developed for products such as Gemini and Android Studio. It ships as a variable font with a wght axis from 300 to 800, with separate Roman and Italic files.
How do I install Google Sans Code?
Download the latest variable font release files from the GitHub releases page and install the fonts on your operating system. The archive contains separate Roman and Italic variable fonts.
How do I use Google Sans Code in VS Code?
The README does not give editor-specific steps, but after installing the variable TTFs on your system you select the family in your editor's font setting. Your editor must support variable font axes to reach the full 300 to 800 weight range.
How does Google Sans Code compare with JetBrains Mono?
Google Sans Code ships as a variable font with a wght axis from 300 to 800 and is compiled from glyphspackage sources with fontc, while JetBrains Mono is distributed as a static family by JetBrains. The README does not document programming ligatures for Google Sans Code.
Is Google Sans Code free to use?
The font software is licensed under the SIL Open Font License, Version 1.1, with the full text in OFL.txt. The README also points to TRADEMARKS.md regarding naming issues, which is separate from the copyright licence.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/googlefonts-googlesans-code)