Skip to content

About

A beautiful, highly legible monospace font for terminals, editors, and agentic work

Topics

Resources

Stars

6 stars

Watchers

0 watching

Forks

Repository files navigation

Planetaire Mono — visit the website

Planetaire Mono is a beautiful, highly legible monospace font for terminals, editors, and agentic work.

B612 is the typeface Airbus developed and validated in legibility studies for cockpit displays. Planetaire Mono adapts B612 Mono for modern use by adding weights, punctuation and symbols from Hack, and optional icons from Nerd Fonts. The result is highly usable and licensed freely for personal, commercial, and open source use.

View Planetaire →

Compare Monospace Fonts →

Read the Type Specimen (PDF) →

Download the Fonts (TTF, WOFF2) →


Alan Turing's “Can machines think?”
passage set in Planetaire Mono on a dark background
The same Alan Turing passage on a light background

About B612

B612 began not as a typeface but as an aviation research program. In 2010, Airbus, ENAC (the French civil aviation university), and the Université de Toulouse III set out to define and validate an “aeronautical font” for cockpit screens: text a pilot can read correctly while fatigued, at oblique angles, or under vibration, glare, or near-darkness.

The shapes were derived experimentally before they were drawn. Jean-Luc Vinot (ENAC) and Sylvie Athènes (Toulouse III) built confusion matrices of which characters readers mistake for others (“Legible, are you sure?” at CHI 2012). In their controlled study, the prototype that became B612 drew slightly more correct reads than Verdana and clearly outperformed the legacy avionics font. Airbus then commissioned the Montpellier interface studio Intactile Design (Nicolas Chauveau, Thomas Paillot, and Jonathan Favre-Lamarine) to draw the full family of eight variants.

B612 is named for the asteroid home of the Little Prince by Antoine de Saint-Exupéry, who was himself an aviator.

B612’s unusual character is a humanist answer to an instrument-panel problem. Where earlier cockpit fonts went monolinear and rigid, B612 keeps stroke contrast, opens counters, and lengthens ascenders and descenders. Each word’s silhouette resolves quickly. At stroke junctions it carries small notches (light traps) that keep joins from filling in on bright, low-contrast displays. In 2017, B612 was released as open source through the Eclipse Polarsys project.

About Planetaire Mono

B612 as it circulates today, including the version on Google Fonts, has oddities and uneven symbols that make it awkward in modern applications and terminals. Planetaire Mono fixes this by merging B612’s letters and digits into Hack Nerd Font’s base:

  • B612 letterforms for letters, digits, and extended Latin, Greek, and Cyrillic.
  • Hack punctuation and symbols for {}[]()<> and the rest.
  • Ten variants across five weights (400/500/600/700/800), including added SemiBold (600) and ExtraBold (800) weights, the latter especially useful as boldface in the terminal.
  • Over 10,000 Nerd Font icons (Powerline, Font Awesome, Devicons) in the Extended package, part of 12,000+ total glyphs.
  • A dotted zero: B612’s zero with a center dot for clear 0 vs O, in circle (default) and rectangle (ss01) variants.

Hack has its own lineage: Bitstream Vera Mono (2003) became DejaVu Mono, which Chris Simpkins reworked in 2015 into a face tuned for source code at small sizes. Its signature is functional punctuation: brackets, braces, parentheses, and operators are drawn at a heavier weight and given extra spacing next to letters, so they stay distinct in dense code. B612’s own punctuation lacks that weight.

The new name distinguishes the fonts and is required by the B612 license, which reserves the B612 name.

A Personal Note

Like architecture, typography is a functional art form. A design may initially appear attractive, but you can’t know its true qualities until you live close to it. Or work within it.

A couple of years ago, I was building a terminal and surveyed monospace fonts to find the best ones. B612 wasn’t my obvious first choice, but after I tried many of the classic modern options available as Nerd Fonts, it still just felt better over time. But its technical flaws were a disappointment: it couldn’t fully replace a modern workhorse like Hack or JetBrains Mono. I made a hybrid of B612 that I was quite happy with, but it wasn’t in a clean enough form to publish.

Now, Claude Code and Opus 4.8 have made it a pleasure to consolidate this work as Planetaire Mono. I’ve used dozens of terminal fonts over the years, and it is now what I use every day.

Thanks to agentic coding, monospace fonts are now in greater use than anyone could ever have imagined. I hope Planetaire Mono’s aesthetics lighten the hours you spend with your agents, editors, and terminals.

Specimens

A syntax-highlighted analyze_trajectory() Python function in Planetaire Mono on a dark background
The same Python function on a light background

RFC 1 (1969) set in Planetaire Mono, on a dark background
The same RFC 1 document on a light background

Multi-size body text plus French, German, Spanish, Turkish, Greek, and Cyrillic samples in Planetaire Mono, on a dark background
The same multi-language text sample on a light background

Planetaire Mono from 8pt to 44pt with a large legibility line, on a dark background
The same size waterfall on a light background

A terminal session in Planetaire Mono on a dark background: a colored eza listing, a Python one-liner, and a git log
The same terminal session in Planetaire Mono on a light background

Planetaire Mono weight ladder from Regular to ExtraBold, upright and italic, on a dark background
The same weight ladder on a light background

Confusable-character pairs and the dotted-zero variants in Planetaire Mono, on a dark background
The same confusable-character pairs and dotted-zero variants on a light background

High Legibility

B612’s letterforms keep commonly confused characters distinct: Il1|, O0o, rn vs m, 5S, 8B, 2Z. Coverage spans Latin Extended A/B, Greek and Coptic, Cyrillic, and Latin Extended Additional: over 12,000 glyphs in the Extended package.

Two Packages: Text and Extended

Both packages share the same letterforms. The archives include TTF files (in ttf/) for local install plus WOFF2 files (in web/, with ready @font-face stylesheets) for the web. They differ only in glyph coverage:

  • Planetaire Mono Extended is the full font: everything in Text plus the 10,000+ Nerd Font icons and Powerline glyphs that terminals and CLIs draw, so it is a superset of Text. Recommended for local and terminal use, where TTF is the standard option.
  • Planetaire Mono Text is a lightweight subset (no icons), so it is far smaller. Recommended for the web, where the WOFF2 stylesheet is the standard option. Its default web CSS is a slim Regular/Bold, upright-only unicode-range split for Latin, Greek, and Cyrillic; planetaire-mono-text-italics.css adds the optional Regular/Bold italics.

Either package works for either purpose; the recommendations are just the common, size-conscious defaults. See Download for the archives and sizes.

Download

Planetaire Mono is available in two packages, built from the same letterforms. Get the latest from GitHub Releases:

Package Best for Includes Download
Planetaire Mono Text (standard) Websites, documents, reading TTF: full text coverage, all 10 variants. Web: slim Regular/Bold Latin, Greek, and Cyrillic split, with optional italic CSS. .tar.xz ~1 MB · .zip ~1 MB
Planetaire Mono Extended (full) Terminals, coding, icon-rich CLIs Everything in Text plus all 10,000+ Nerd Font icons and Powerline. TTF + WOFF2. .tar.xz ~19 MB · .zip ~30 MB

Both archives are laid out as ttf/ (for local install) and web/ (WOFF2 plus @font-face stylesheets). Text TTFs ship all 10 variants; Text web fonts default to the smaller Regular/Bold split profile, with separate WOFF2 files for each script range.

To install, unzip the archive and add the TTFs:

  • macOS / Windows: double-click the ttf/*.ttf files and click Install (macOS Font Book or the Windows font preview).
  • Linux: copy them into ~/.local/share/fonts/ and run fc-cache -fv.

Then point your terminal at Planetaire Mono Extended (see Terminal Configuration), or load the WOFF2 web fonts (see Web).

Weights

Additional Weights

Each package ships 10 variants across 5 weights.

Planetaire Mono adds an ExtraBold (800) weight for terminal bold: the jump from Regular (400) to Bold (700) is often too subtle at terminal sizes, and ExtraBold gives bold text (prompts, headings, highlighted output) the contrast to stand out.

Variant Weight Recommended Use
Regular 400 Normal terminal text
Italic 400 Emphasized text
Medium 500 UI labels, intermediate weight
Medium Italic 500 UI labels italic
SemiBold 600 UI emphasis, intermediate weight
SemiBold Italic 600 UI emphasis italic
Bold 700 Standard bold
Bold Italic 700 Standard bold italic
ExtraBold 800 Terminal bold text
ExtraBold Italic 800 Terminal bold italic

ExtraBold for Terminals

For best results, map your terminal’s bold to ExtraBold (800) rather than Bold (700): the heavier stroke gives bold output (prompts, headings, highlighted text) clear contrast at terminal sizes, which is how the font is designed to be used. Per-terminal setup for Terminal.app, Ghostty, Alacritty, WezTerm, iTerm2, Kitty, and VS Code is under Terminal Configuration.

Terminal Configuration

After installing the font, point your terminal at Planetaire Mono Extended. For best results, map bold text to ExtraBold (800) rather than Bold (700): the heavier stroke gives bold output (prompts, headings, highlighted text) clear contrast at terminal sizes (12–16px), which is how the font is designed to be used.

macOS Terminal.app

Open Terminal → Settings… → Profiles, pick your profile, open the Text tab, and in the Font section click Change to select Planetaire Mono Extended at 14 pt. Check Use bold fonts so bold output renders in bold. Terminal.app uses the family’s Bold (700) and has no per-weight bold mapping, so it can’t route bold to ExtraBold; use Ghostty (below) if you want ExtraBold bold.

Ghostty

In ~/.config/ghostty/config:

font-family = "Planetaire Mono Extended"
font-size = 14
font-style-bold = "ExtraBold"
font-style-bold-italic = "ExtraBold Italic"

Run ghostty +list-fonts if a style name does not resolve.

Alacritty

In ~/.config/alacritty/alacritty.toml:

[font]
size = 14.0

[font.normal]
family = "Planetaire Mono Extended"
style = "Regular"

[font.bold]
family = "Planetaire Mono Extended"
style = "ExtraBold"

[font.italic]
family = "Planetaire Mono Extended"
style = "Italic"

[font.bold_italic]
family = "Planetaire Mono Extended"
style = "ExtraBold Italic"

WezTerm

In ~/.wezterm.lua:

local wezterm = require 'wezterm'
local config = wezterm.config_builder()

config.font = wezterm.font('Planetaire Mono Extended')
config.font_size = 14.0

-- Map bold to ExtraBold for maximum contrast
config.font_rules = {
  {
    intensity = 'Bold',
    font = wezterm.font('Planetaire Mono Extended', { weight = 'ExtraBold' }),
  },
  {
    intensity = 'Bold',
    italic = true,
    font = wezterm.font('Planetaire Mono Extended', { weight = 'ExtraBold', style = 'Italic' }),
  },
}

return config

iTerm2

Open Preferences → Profiles → Text, set Font to Planetaire Mono Extended at 14 pt, and check Draw bold text in bold font so bold renders in the family’s bold member. iTerm2 has no separate bold-font field, so it can’t target the ExtraBold face specifically; use Ghostty, Kitty, or the VS Code terminal if you want ExtraBold bold.

Kitty

In ~/.config/kitty/kitty.conf:

font_family      family="Planetaire Mono Extended"
bold_font        family="Planetaire Mono Extended" style="ExtraBold"
italic_font      family="Planetaire Mono Extended" style="Italic"
bold_italic_font family="Planetaire Mono Extended" style="ExtraBold Italic"
font_size        14.0

VS Code terminal

In settings.json:

{
  "terminal.integrated.fontFamily": "Planetaire Mono Extended",
  "terminal.integrated.fontSize": 14,
  "terminal.integrated.fontWeight": "normal",
  "terminal.integrated.fontWeightBold": "800"
}

Web

Both packages include WOFF2 web fonts and ready stylesheets in web/. The Text package is recommended for the web (much smaller, no icons); use Extended only if you need the Nerd Font icons in the browser. From the Text archive’s web/:

<link rel="preload" as="font" type="font/woff2" href="PlanetaireMonoText-Regular-latin.woff2" crossorigin>
<!-- Optional: preload the bold Latin slice if bold text appears above the fold. -->
<link rel="preload" as="font" type="font/woff2" href="PlanetaireMonoText-Bold-latin.woff2" crossorigin>
<link rel="stylesheet" href="planetaire-mono-text.css">
<!-- Optional: regular/bold italics. -->
<link rel="stylesheet" href="planetaire-mono-text-italics.css">
<style>
  body { font-family: var(--planetaire-mono-text-font-stack); }
  /* rectangle zero instead of the dotted circle: */
  .code { font-feature-settings: "ss01" 1; }
</style>

The default Text web stylesheet declares Regular (400) and Bold (700), upright, split into Google Fonts-style latin, latin-ext, greek, cyrillic, and cyrillic-ext unicode ranges. Browsers fetch the Latin file for ordinary English text and fetch the other script files only when the page uses those codepoints. Add the italic stylesheet only when the app renders italic text. The generated CSS also defines --planetaire-mono-text-font-stack, which includes a metric-matched local fallback face so line height stays stable while font-display: swap loads the WOFF2.

For production, serve the WOFF2 files from a versioned path or fingerprinted filename with Cache-Control: public, max-age=31536000, immutable. Keep the CSS cache shorter if the font URLs inside it are not versioned.

Build from Source

This repo is the build tooling, not the font itself — you only need it to build from source. The fonts are distributed via GitHub Releases.

Requires Python 3.12+ and uv.

uv sync --all-extras
make fonts        # download (verify) -> build Extended + Text -> validate

Planetaire Mono is built with a custom Python pipeline using fontTools. For each weight variant, the pipeline loads Hack Nerd Font as the base, merges B612’s letter and digit glyphs by Unicode range (normalizing units per em from 2048 to 2000), adds a center dot to B612’s zero for O/0 disambiguation, sets family and version metadata, applies post-processing fixes, and validates coverage and style linking. The OS/2 metrics that describe the glyphs — x-height, cap height, average character width, and the Windows clipping box — are measured off the merged outlines rather than inherited from either source, so anything that sizes text from the table (CSS font-size-adjust, editors, font managers) sizes the letters actually on screen. The intermediate B612 weights (Medium, SemiBold, and ExtraBold) are generated from its base weights with FontForge emboldening before merging. Full build, specimen, and release steps are in fonts-build-and-release.md; regenerating the specimen and these images is in build-assets.runbook.md.

FAQ

  • Does it have ligatures? No. Neither B612 nor Hack includes them, and Planetaire Mono keeps every character distinct, true to its legibility-first design. It’s possible we could find a way to package ligatures from another font in the future, but it would have to match Hack’s heavier punctuation style.

  • Why a dotted zero rather than a slashed zero? A slash can be mistaken for the Scandinavian Ø; a center dot cannot. The dot is a circle by default, with a rectangle variant via ss01.

  • How is this different from B612 Mono on Google Fonts? That release has four styles and B612’s original symbols, which are harder to read (especially the quote marks), and its 0 and O are easy to confuse. Planetaire Mono replaces the punctuation and symbols with Hack’s and adds the extra weights, the dotted zero, and the Nerd Font icons.

  • Why not fix B612 upstream? The upstream project has been dormant for years, and its license reserves the B612 name, so an adapted version must ship under a new name regardless. The build pipeline works over the released B612 fonts, so upstream improvements can still be merged if the project revives.

Credits

  • Planetaire Mono: assembled and maintained by Joshua Levy.
  • B612 Mono: letterforms by Intactile Design for Airbus. Planetaire Mono takes its letters, digits, and extended Latin, Greek, and Cyrillic glyphs from B612.
  • Hack: Chris Simpkins’ typeface designed for source code. It provides Planetaire Mono’s base font structure: punctuation, symbols, metrics, and Nerd Font integration.
  • Nerd Fonts: Ryan McIntyre’s icon patching project. Planetaire Mono Extended includes 10,000+ developer icons, including Powerline, Font Awesome, Devicons, Material Design, and more, via the Hack Nerd Font base.
  • carlosedp: Carlos Eduardo de Paula’s B612 Nerd Font fork, which inspired the dotted zero. It is not a build dependency.

License

Planetaire Mono is released under the SIL Open Font License 1.1 (OFL-1.1), the standard license for open fonts. In practical terms:

  • Use it for anything, free. Set text in Planetaire Mono in documents, books, websites, apps, videos, and commercial products, with no fee and no permission needed.
  • No credit required for use. Setting text in the font does not obligate you to attribute Planetaire Mono or B612 anywhere, including in publications, commercial work, or open source software. Credit is welcome but optional.
  • Bundle and redistribute freely, but keep the license with the files. If you ship the font files themselves (embedding web fonts, packaging them in an app or OS), include the bundled license and copyright notices alongside them. You may not sell the font files on their own.
  • Don’t reuse the B612 name for modified versions. OFL lets an author reserve font names, and “B612” is reserved, so a derivative cannot be distributed under that name.

This is a summary, not legal advice; the full OFL text is binding. The upstream sources carry their own licenses: B612 under OFL-1.1 and EPL-2.0; Hack under MIT and the Bitstream Vera License (Hack’s symbols descend from Bitstream Vera, which reserves the names “Bitstream” and “Vera”); Nerd Fonts glyph fonts under OFL-1.1 with the patcher tooling under MIT. Full license texts for all of these ship in the licenses/ folder of each release archive. The build tooling in this repo is MIT.

About

A beautiful, highly legible monospace font for terminals, editors, and agentic work

Topics

Resources

Stars

6 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages