buena

A writer-first monospace typeface

buena mono is designed for the place where writing and code meet. Optimized for markdown editors, code editors, and terminals with carefully tuned ligatures, small caps, and variable weight (Thin to ExtraBold) and slant (upright to 10° italic) axes.

5385glyphs
2axes
8masters
51features
SIL Open Font License 971 languages Variable font
Appearance — Monospaced Sans Serif — Neo-grotesque Feeling — Calm Feeling — Precise Feeling — Warm Feeling — Editorial For — Code & Writing
Get the font ↓

Playground

Type anything — switch between Text and Code, sweep the weight (100–800) and slant (0 to −10°) axes, and toggle OpenType features live.

Human & machine, in color

Borrowed words carry color, your own stay plain — the writer-with-AI workflow buena mono is drawn for. Or turn on Show Syntax to recolor the prose by part of speech.

In the library that contains every possible book, a man searches for the one volume that indexes all the others. Each gallery mirrors the last; each corridor forks into two identical corridors; and the catalog, when at last he finds it, lists only his own name and the hour of his reading. He begins to suspect that the library is infinite, that he is a single sentence written somewhere inside it — and that in a distant hexagon another reader is patiently trying to correct him.

For Humans & Machines

buena mono is built for both human-authored prose and machine-generated text.

Human writers
Writer-first letterforms tuned for extended prose in markdown — a tall x-height, open counters, markdown-aware punctuation, and restrained ligatures that enhance without distracting.
Machine writers
Optimized for AI code output, terminals, and programmatic text — tabular figures, a full box-drawing and block set, native Powerline, and distinct diff glyphs so logs, tables, and TUIs line up.

Glyph Browser

Hover over any glyph to inspect it with metric guidelines.

A
A
Latin Capital Letter A U+0041

Design Notes

buena mono is a writer-first monospace — tuned to read comfortably across long passages of prose in markdown, while keeping code unambiguous. Every glyph sits on one fixed 618-unit cell, so columns stay aligned in editors and terminals.

Distinct by design

The characters most often confused while reading code are drawn to be told apart at a glance.

1 l I
one · ell · eye — each distinct
0 O
dotted zero vs. capital O
rn m
r⁠n never blurs into m
, . ; :
weighted punctuation, clear when small

A true italic on the slant axis

Rather than a mechanical oblique, the slnt axis runs from upright to a 10° italic voice — enough to mark emphasis and comments without straining the eye.

Upright — slnt 0
// this comment stands upright
Italic — slnt −10
// this comment leans ten degrees

Recommended settings

Vision science puts fluent reading a touch above editor defaults (Legge & Bigelow 2011); buena mono's tall x-height earns some of that back. Readers differ — find your size in the playground.

Size — code 14–15 px
Size — writing 16 px
Line spacing 1.5

// Community

devs love it.
writers, too.

Weight Ramp

Coding Ligatures

A ligature merges two or more characters into a single shape. In code, this renders multi-character operators as one clear symbol — cutting visual noise and evening out whitespace — while the underlying text stays exactly what you typed.

159 coding ligatures via calt + 5 standard (liga) + 11 discretionary (dlig)

Arrows

Comparison

Operators

Comments & JSX

Arrows — Extended

Pipes & Bars

Slashes & Comments

Tildes

Assignment

Question Marks

Hash / Pound

Arrows — Exotic

Plus / Asterisk / Dollar

Brackets & Braces

Logical & Arithmetic

Miscellaneous

Extended Operators

On / Off Comparison

calt ON (default)
=> -> !== === <= >= |> :: ... ?? <> ==> <== ~> |= := ?. /// && || <=>
calt OFF
=> -> !== === <= >= |> :: ... ?? <> ==> <== ~> |= := ?. /// && || <=>

Stylistic Alternates

13 alternates across 12 stylistic sets — mix and match for your preferred coding style — plus ss13, a machine-readable mode that decomposes every ligature for OCR/verbatim contexts

ss01: single-storey a
a a
ss02: f
f f
ss03: l
l l
ss04: Rounded dots
i j i j
ss05: g open tail
g g
ss06: g ear
g g
ss07: i tailed
i i
ss08: y straight
y y
ss09: y cursive
y y
ss10: Plain Zero
0 0
ss11: Dotted Zero
0 0
ss12: r
r r

All Alternates Combined

Default
a f g i l r y 0 — Agile algorithms juggle logarithmic indices.
All stylistic sets + zero
a f g i l r y 0 — Agile algorithms juggle logarithmic indices.

Small Caps

847 mappings — smcp (457 lowercase → small caps) and c2sc (390 uppercase → small caps)

Normal
The API returns JSON
smcp
The API returns JSON
c2sc + smcp
The API returns JSON
The quick brown fox jumps over the lazy dog. Pack my box with five dozen liquor jugs. How vexingly quick daft zebras jump!

Variable Weight & Slant

Size Waterfall

Slant Spectrum

The slnt axis runs 0 to −10° for a true, upright-to-italic voice.

Weight × Slant Matrix

Box Drawing & TUI

128 box drawing glyphs — light, heavy, double, rounded, dashed, and diagonal. Ships native Powerline glyphs and is compatible with the Nerd Fonts patcher for the full 10K+ dev-icon set.

Tiling Test

Light
┌─────────────┬───────────┐ │ Build │ ✓ passing │ │ Tests │ 48/48 │ │ Coverage │ 97% │ └─────────────┴───────────┘
Double
╔═════════╦═════════════╗ ║ API ║ ● online ║ ║ Worker ║ ● online ║ ║ Cache ║ ○ degraded ║ ╚═════════╩═════════════╝
Rounded
╭──────────┬───────────╮ │ Glyphs │ 5385 │ │ Axes │ wght·slnt │ │ Features │ 51 │ ╰──────────┴───────────╯

TUI Demos

╭─ Build ──────────────────────────────────────╮ │ ✓ install deps 1.2s │ │ ✓ compile 142 modules 3.4s │ │ ◐ bundle ████████░░░░ 68% │ │ ○ optimize queued │ ╰──────────────────────────────────────────────╯
┌─ git status ─────────────────────────────────┐ │ on main ↑2 ↓0 synced │ │ M src/pages/index.astro │ │ M src/styles/global.css │ │ ?? public/fonts/Buena.woff2 │ └──────────────────────────────────────────────┘
╔═ test run ═══════════════════════════════════╗ ║ ✓ parser.test 12 passed ║ ║ ✓ render.test 8 passed ║ ║ ✗ slant.test 1 failed ║ ║ 20 passed · 1 failed · 2.4s ║ ╚══════════════════════════════════════════════╝

Directory Tree

Box-drawing glyphs render file trees cleanly — here, the .claude harness layout (agents, skills, hooks, workflows).

your-project/
├── CLAUDE.md              Instructions read every session
├── .mcp.json              Project-scoped MCP servers
└── .claude/               The harness — config + extensions
    ├── settings.json      Permissions, hooks, config
    ├── rules/             Topic-scoped instructions
    │   ├── testing.md
    │   └── api-design.md
    ├── skills/            Reusable prompts invoked by name
    │   └── security-review/
    │       ├── SKILL.md   Trigger + instructions
    │       └── checklist.md
    ├── agents/            Subagents with their own context
    │   └── code-reviewer.md
    ├── commands/
    │   └── fix-issue.md
    ├── workflows/         Scripts that orchestrate subagents
    └── agent-memory/      Subagent persistent memory
        └── <agent-name>/
            └── MEMORY.md  Maintained automatically

Code Sample

// buena mono — ligatures render inline, syntax by GitHub (light/dark)
const pipe = <T,>(x: T) => (...fns: Array<(v: T) => T>) =>
  fns.reduce((acc, fn) => fn(acc), x);

function classify(n: number): string {
  if (n !== 0 && n >= 0) return n <= 9 ? "digit" : "number";
  return n < 0 ? "negative" : "zero";
}

const mode = config?.settings?.mode ?? "default";
const node = <>{items.map((i) => <li key={i.id}>{i.label}</li>)}</>;

Braille Graphics

Braille patterns (U+2800–28FF) pack a 2×4 dot grid into a single cell, so terminals draw high-resolution graphics with them — btop, gnuplot’s dumb terminal, drawille, TUI sparklines. buena mono ships all 256, cell-aligned, so they render sharp instead of falling back to a mismatched face. It’s rare: of ~18 monospace fonts we tested, only buena and Cascadia carry the full block.

╭─ monitor ────────────────────────────────────╮ │ cpu ⠒⠒⠊⠉⠉⠒⠒⠢⠤⠤⠤⠤⠤⠔⠒⠒⠉⠉ 64% │ │ mem ⠤⠤⠤⠤⠔⠒⠒⠒⠒⠒⠒⠒⠒⠒⠊⠉⠉⠉ 81% │ │ net ⠤⠒⠒⠒⠤⠤⡠⠤⠊⠉⠉⠒⠤⢄⡠⠤⠤⠒ 2.4M/s │ ╰──────────────────────────────────────────────╯
Why it matters
Each Braille cell is a 2×4 pixel grid — plot eight “pixels” per character and a terminal renders real graphs. The cpu / mem / net sparklines to the left are live Braille. A font without the block falls back to a mismatched face and the graph breaks apart; buena keeps every cell on the same 618 grid.

Statusline

Block-drawing glyphs on a fixed grid make buena mono a natural fit for colored terminal statuslines, prompts, and TUIs.

[Fable 5] my-project git:(main*)
Context █████░░░░░ 45% Usage ██░░░░░░░░ 25% (1h 30m / 5h)
Edit: auth.ts | Read ×3 | Grep ×2← Tools activity
explore [haiku]: Finding auth code (2m 15s)← Agent status
Fix authentication bug (2/5)← Todo progress

Full display

.claude | 45k/168k [████████░░] | $32/$140 [█████░░░░] 23%
daily [██░░░░░░] 6/12% $21/$42 | total $324 | 5:45PM/10PM (3h 42m) | 928/min | ×2

Minimal display

.claude | $32/$140 [█████░░░░░] 23% | weekly 18% | 3h 42m

Spinner

Claude Code cycles a verb while it thinks — here are all 200, swapped in via spinnerVerbs. The spinner and text stay locked to one grid in buena mono.

Krahing (0s · esc to interrupt)
{
  "spinnerVerbs": {
    "mode": "replace",
    "verbs": [
      "Krahing",
      "Hill-climbing",
      "Naming the wind",
      "Kwisatz-haderaching",
      "Caffeinating",
      "Reticulating splines",
      "Grokking",
      "Yak-shaving",
      "Frobnicating",
      "Bikeshedding",
      "Nerd-sniping",
      "Summoning daemons",
      // …and 188 more
    ]
  }
}

Language Support

971 languages shape correctly (marks, joining, small caps), and 613 have full character-set coverage — 509 Latin, 96 Cyrillic, plus Greek, Coptic, and transliteration sets. Verified by hyperglot and shaperglot.

Latin

EnglishThe quick brown fox jumps over the lazy dog.
FrenchPortez ce vieux whisky au juge blond qui fume.
GermanFalsches Üben von Xylophonmusik quält jeden größeren Zwerg.
SpanishEl veloz murciélago hindú comía feliz cardillo y kiwi.
ItalianMa la volpe, col suo balzo, ha raggiunto il quieto Fido.
PortugueseÀ noite, vovô Kowalsky vê o ímã cair no pé do pinguim queixoso.
PolishPchnąć w tę łódź jeża lub ośm skrzyń fig.
CzechPříliš žluťoučký kůň úpěl ďábelské ódy.
HungarianÁrvíztűrő tükörfúrógép.
TurkishPijamalı hasta yağız şoföre çabucak güvendi.
RomanianÎnjurând clanța, rîdea și ștergea.
IcelandicKæmi ný öxi hér ykist þjófum nú bæði víl og ádrepa.
DanishQuizdeltagerne spiste jordbær med fløde.
SwedishFlygande bäckasiner söka hwila på mjuka tuvor.
NorwegianBlåbærsyltetøy på kjøkkenbordet fristet den lille vårharens unge.
VietnameseƠn giời, cậu đây rồi! Tôi yêu Việt Nam.
PinyinMāmā qí mǎ mà? Māma qí mǎ mà.

Cyrillic

RussianСъешь ещё этих мягких французских булок, да выпей же чаю.
UkrainianЖиття надто прожити так, щоб не було боляче соромно.
BulgarianБързата кафява лисица прескача над ленивото куче.
Serbian (Cyrillic)Лијеп је овај свијет и вриједи за њ живјети.
KazakhҚазақ тілі — қазақ халқының ана тілі.

Greek

GreekΤαχίστη αλώπηξ βαφής ψημένη γη, δρασκελίζει υπέρ νωθρού κυνός.

Metrics & Coverage

Glyphs
5385
ASCII + Latin + Cyrillic + Greek + Polytonic + Braille + Combining + Box + Powerline + Small Caps + Ligatures
Axes
2
wght 100–800, slnt 0 to −10°
Masters
8
Thin, Regular, Bold, ExtraBold — upright + slanted
Features
51
liga, calt, dlig, smcp, c2sc, ss01–13, cv01–13, subs, sups, sinf, numr, dnom, tnum, frac, ordn, case, zero, onum, locl, aalt, ccmp, mark, mkmk
Languages
971
971 shaped correctly (shaperglot) · 613 with full character coverage (hyperglot)
Output
3
TTF (2.2 MB), WOFF2 (686 KB), OTF/CFF2 (997 KB)

Figures verified by our technical reports — fontspector (Google Fonts QA), shaperglot, hyperglot, and interpolatable.

Metrics

MetricValue
Units per Em1000
Advance Width618
Cap Height699
x-Height524
Ascender — line (hhea/typo)950
Descender — line (hhea/typo)-250
Ascender — em-box (design)729
Descender — em-box (design)-218

Variable Axes

AxisTagRangeDefault
Weightwght100–800400
Slantslnt0 to −100

OpenType Features

FeatureTagCount
Standard Ligaturesliga5
Coding Ligaturescalt159
Discretionary Ligaturesdlig11
Small Capssmcp457
Caps to Small Capsc2sc390
Slashed Zerozero1
Stylistic Setsss01–ss1213
Character Variantscv01–cv1313
Oldstyle Figuresonum10
Tabular Figurestnum10
Subscriptssubs10
Superscriptssups10
Scientific Inferiorssinf10
Numerators / Denominatorsnumr / dnom20
Fractionsfrac9
Ordinal Indicatorsordn2
Case-Sensitive Formscase7
Localized Formslocl3
Composition/Decompositionccmp
Mark Positioningmark
Mark-to-Mark Positioningmkmk
Access All Alternatesaalt

How It Compares

How buena mono stacks up against popular open-source monospace families.

MetricJetBrainsiA WriterFragmentFira CodeNoto SansIBM PlexGeistCascadiabuena
Cap Height730698699687714698710693699
x-Height550516524525536516530518524
Advance Width600600600600600600600586618
Coding Ligatures139040+125000Yes159
Small CapsNoNoYesNoYesNoNoNoYes (923)
Weights8426914958 + italics
OpenType Features371618261716232451
ScriptsLat+CyrLat+CyrLatinLat+Cyr+GrLat+Cyr+GrLat+CyrLat+CyrLat+Cyr+ArLat+Cyr+Gr
Languages354391284393619393373507613
Braille patternsNoNoNoNoNoNoNoYes (256)Yes (256)

Cap height, x-height, advance, feature counts, small caps, scripts, and language counts are measured directly from each family’s current release (fontTools + hyperglot), normalized to a 1000-unit em. Coding-ligature and weight counts are from published specs. buena mono’s figures are cross-checked by our technical reports.

Technical Reports

Automated quality assurance on the variable font. View all →

Frequently
asked questions

[ 01 ] Is buena mono really free?
Yes. It’s released under the SIL Open Font License 1.1 — free for both personal and commercial use.
[ 02 ] Can I use it in a commercial product, app, or website?
Yes. Bundle it, self-host it, or embed it — no fee and no attribution required.
[ 03 ] Do I have to credit Buena?
No, but we’d appreciate it very much if you do.
[ 04 ] Can I modify it or build my own font from it?
Yes, under the OFL: keep derivatives under the OFL and don’t sell the fonts on their own.
[ 05 ] Can I use it in a logo?
Yes.
[ 06 ] How many languages does it support?
971 languages shape correctly — marks, joining, and small caps verified per language (shaperglot); 613 have full character-set coverage (hyperglot: 509 Latin, 96 Cyrillic, plus Greek and Coptic). See the hyperglot and shaperglot reports.
[ 07 ] Is it production-ready and tested?
It runs the full Google Fonts QA profile — 200 checks via fontspector — plus build-consistency, interpolation, and language checks. Every report is published under Technical Reports so you can see exactly what passes.
[ 08 ] Does it work as a variable font?
Yes — two axes (weight 100–800, slant 0 to −10°) across 8 masters. A handful of decorative shade and arrow glyphs are still being reconciled for perfect interpolation; the interpolatable report tracks them.
[ 09 ] Which weight should I use in dark mode?
Light-on-dark text reads optically heavier and measures worse at a glance (Sawyer et al. 2020, Ergonomics). Because weight is a variable axis, compensate with one setting: drop 25–50 weight units in dark themes — e.g. font-variation-settings: "wght" 360 where you’d use 400 on a light background. A dedicated grade (GRAD) axis is on the roadmap.
[ 10 ] Can machines (OCR, screen readers, AI) read it reliably?
We measure it: the machine-readability report scores OCR and vision-model accuracy on rendered text down to 9px. One caveat: coding ligatures (!= rendering as ≠) can confuse OCR — for verbatim/machine-read contexts enable ss13 (machine-readable mode), which decomposes every ligature back to its plain characters: font-feature-settings: "ss13" 1.
[ 11 ] Does it do Braille and terminal graphics?
Yes — the complete Braille Patterns block (U+2800–28FF, 256 glyphs) on the 618 cell. That’s rare in coding fonts: of ~18 we tested, only buena mono and Cascadia Code carry the whole block. Because each cell is a 2×4 dot grid, terminal tools (btop, gnuplot, drawille) use Braille for high-resolution plots and sparklines — and with the full set weight-matched to the family, they line up instead of falling back to a mismatched face.

Get Buena Mono

Free and open source under the SIL Open Font License 1.1. Download the variable font, or grab a tagged release from GitHub.

Use on the web

@font-face {
  font-family: "Buena Mono";
  src: url("BuenaMono-VF.woff2") format("woff2");
  font-weight: 100 800;
  font-style: oblique 0deg 10deg;
}
/* slant lives on the slnt axis (0 to -10): */
.slanted { font-variation-settings: "slnt" -10; }

Install

macOS
Open BuenaMono-VF.ttf and click Install Font, or drop it into Font Book.
Windows
Right-click BuenaMono-VF.ttf and choose Install.
Linux
Copy to ~/.local/share/fonts/ and run fc-cache -f.

More ways to install

Install via NPM Recommended

Best for build pipelines — ships the full glyph set with font-feature-settings support.

npm i buena-mono

Then self-host the woff2, or import it in your CSS.

Use from Google Fonts

Quick setup for the web. Does not yet include the full glyph set or font-feature-settings.

@import url("https://fonts.googleapis.com/css2?family=Buena+Mono");

Note — Buena Mono will be available on Google Fonts soon.

Features by installation method
FeatureNPMGoogle FontsDownload
font-feature-settings✓ Yes✗ No✓ Yes
Full glyph set (5385)✓ Full△ Partial✓ Full
Variable axes (wght + slnt)✓ Yes△ Limited✓ Yes
Automatic updates✓ via npm✓ via Google✗ Manual
Self-hosted✓ Yes✗ No✓ Yes
Get the .zip Download ↓

Manually download otf, woff2, and variable font files — the full glyph set with font-feature-settings.

Licensed under OFL. Use it on your sites and projects.

Source & docs: github.com/buenagames/buena-mono  ·  Google Fonts listing coming soon.

Games

Letter and word games live or die by the grid. buena mono's fixed 618-unit advance means every glyph fills the same cell — so cryptograms stack, ladders align, tiles tile, and columns stay honest at any length, with no per-glyph fitting. A few mechanics where the monospace is the mechanic:

Cryptogram cipher_substitution
YB
FU
VE
MN
ZA
NM
LO
MN
LO
Cipher letter locked directly above its solution — only a monospace keeps the two rows in register.
Word ladder word_ladder
COLD
CORD
CARD
WARD
WARM
COLD → WARM, one letter per step. Equal-length words align, so the change pops for free.
Word guess word_guess
CRANEBEGUNBUENA
Uniform letter widths give uniform tiles — no per-glyph fitting. Answer: BUENA.
Word search word_search
BFKPRTWQLUCMNDGHVSEYZJXAOIWNBUKRTQLPAMOECDFGHIJKZMONOVWXABCDEFGH
BUENA on the diagonal, MONO across — every glyph sits on the same square lattice.
Sudoku sudoku
537619598686348317266284195879
Tabular digits line up by construction; ss10 / ss11 add a dotted or slashed zero for 0-vs-O.
Letter tiles anagram · rewordable
AENUB
BUENA
Uniform tiles rearrange cleanly; smcp small caps (923) give a tile face without a second font.
Crossword crossword
1 H
2 E
3 A
4 R
5 T
6 E
M
B
E
R
7 A
B
U
S
E
8 R
E
S
I
N
9 T
R
E
N
D
Every letter shares one cell, so across and down stay locked — here a 5×5 where each row and column is a word.
Word tile word_tile · prose
everywordisatile
Whole-word tiles: each is an exact multiple of the cell, so prose snaps to the grid without ragged seams.
Also a natural fit — cryptic_crosswordword_searchletter_arrangementanagram_towerword_connectword_chainkriss_krosscrosswordlingwander_wordsspiralrows_gardenshuffalospelling_beerewordableletter_shiftcipher_substitutionword_ladderword_guesssudokuword_groupingword_associationword_cardtrivianame_drop

Board Games

Solitaire

A 52-card deck — four suits, thirteen ranks. Rank and pip share the same cell, so cards stack and the columns of a tableau stay aligned.

Spades
Hearts
Diams
Clubs
K
Q
J
10
A2345678910JQK
Foundations build up by suit; the tableau builds down in alternating colours — K♠ Q♥ J♣ 10♦.

Chess

The Ruy Lopez, after 1. e4 e5 2. Nf3 Nc6 3. Bb5. Board, pieces, and coordinates align by construction.

8
7
6
5
4
3
2
1
a
b
c
d
e
f
g
h
1.e4e5
2.Nf3Nc6
3.Bb5Ruy Lopez

Music

Not a notation engine — a monospace for writing about music: chord charts, lead sheets, tempo and key marks that stay aligned in plain text. The seven Unicode music symbols render on Buena’s fixed cell.

quarter
eighth
beamed
sixteenths
flat
natural
sharp
Tempo ♩ = 120 · key of B♭ major · an F♯ diminished chord · a C♮ — accidentals sit inline with running text.

A monospace timeline

A brief history of fixed-width type — from the typewriter (Sholes & Glidden, 1874) and IBM’s Courier, through the Swiss grotesques, to the modern coding canon. Dimmed rows are proportional sans-serifs, not monospaces.

1955
Courier Mono · typewriter slab
IBM · Howard Kettler
The archetypal monospace — drawn for IBM's typewriters, later the terminal & screenplay default.
1956
Letter Gothic Mono · typewriter grotesque
IBM · Roger Roberson
A cleaner, sans-adjacent typewriter mono for the IBM Selectric (drawn 1956–62).
1957
Univers Sans · neo-grotesque
Deberny & Peignot · Adrian Frutiger
Modeled on Akzidenz-Grotesk; the numbered-superfamily blueprint.
1968
OCR-B Mono · machine-readable
Adrian Frutiger
The human- and machine-readable ISO standard — the same Frutiger who drew Univers.
1987
Nimbus Sans Sans · neo-grotesque
URW
A metric Helvetica clone.
2004
Consolas Mono · humanist grotesque
Microsoft · Lucas de Groot
The ClearType coding mono, first widely-hinted for screens — presented 2004, shipped 2007 with Vista & Office.
2006
Inconsolata Mono · humanist
Raph Levien
One of the first quality open-source code fonts; after Consolas + Letter Gothic.
2008
Nitti Mono · humanist grotesque
Bold Monday · Pieter van Rosmalen
iA Writer's original font — the writer-first mono seed.
2009
Menlo Mono · grotesque
Apple · Jim Lyles
Built on Bitstream Vera / DejaVu; Apple's Terminal font before SF Mono.
2010
PragmataPro Mono · ultra-condensed programming
Fabrizio Schiavi
Narrow programming mono, extending Pragmata (2001) — the lineage Iosevka builds on.
2011
Suisse International Sans · neo-grotesque
Swiss Typefaces · Ian Party
Contemporary Swiss grotesque in the Helvetica / Univers line.
2012
Source Code Pro Mono · grotesque
Adobe · Paul D. Hunt
Mono cut of Source Sans; Adobe's open superfamily.
2012
GT Pressura Mono Mono · ink-trapped grotesque
Grilli Type
Fixed-width Pressura — stamped / packaging lettering.
2012
Pitch Mono · typewriter slab
Klim · Kris Sowersby
A love letter to the typewriter; matches Courier's dimensions.
2012
Ensba Mono Mono · identity
ENSBA Lyon · Alex Chavot
Bespoke art-school identity face (date approximate).
2013
ABC Diatype Sans · neo-grotesque
Dinamo · Breyer & Harb
First shown 2013 as Diatype; the full ABC Diatype family shipped 2020. Swiss neo-grotesque; parent of ABC Diatype Mono.
2013
Courier Prime Mono · typewriter slab
Quote-Unquote · Alan Dague-Greene
A modern Courier revival for screenwriting.
2014
SF Pro Sans · neo-grotesque
Apple
Debuted as San Francisco (renamed SF Pro in 2017) — Apple's first in-house type in ~20 years; parent of SF Mono.
2014
Fira Code Mono · humanist + ligatures
Nikita Prokopov
Fira Mono + programming ligatures — started the ligature wave.
2014
Rubik Sans · rounded geometric
Google Creative Lab
Rounded grotesque (UI reference, not a mono).
2014
Roboto Mono Mono · neo-grotesque
Google · Christian Robertson
Monospaced member of Roboto.
2015
Iosevka Mono · narrow grotesque / slab
be5invis
Generated 'from code'; after PragmataPro.
2015
Hack Mono · humanist
Chris Simpkins
Extends DejaVu Sans Mono.
2016
Space Mono Mono · display
Colophon for Google Fonts
Eurostile / Microgramma sci-fi headline mono.
2016
SF Mono Mono · neo-grotesque
Apple
Monospaced cut of San Francisco; Terminal / Xcode.
2016
GT America Mono Mono · grotesque
Grilli Type · Noël Leu
US-gothic × European neo-grotesque bridge.
2016
Noto Sans Mono Mono · unmodulated sans
Google / Monotype · Steve Matteson
Mono cut of the pan-Unicode Noto superfamily.
2017
IBM Plex Mono Mono · neo-grotesque
IBM w/ Bold Monday · Mike Abbink
Base outlines for iA Writer's monos.
2017
Inter Sans · neo-grotesque (UI)
Rasmus Andersson
Screen-grotesque; the modern UI default.
2018
ABC Diatype Mono Mono · neo-grotesque
Dinamo
The monospaced cut of ABC Diatype.
2018
iA Writer Mono Mono · duospace
iA (Information Architects)
Built on IBM Plex; descends from Nitti. Coined 'duospace'.
2019
Cascadia Code Mono · sans + ligatures
Microsoft · Aaron Bell
Shipped with Windows Terminal; follows Fira Code.
2019
Söhne Mono Mono · neo-grotesque
Klim · Kris Sowersby
Akzidenz-Grotesk 'through the reality of Helvetica'.
2019
Recursive Mono ↔ sans · variable
Arrow Type · Stephen Nixon
5-axis variable — conceptual predecessor of Monaspace.
2019
Victor Mono Mono · grotesque + cursive
rubjo · Rune Bjørnerås
Signature cursive italics + ligatures.
2020
JetBrains Mono Mono · + ligatures
JetBrains · Nurullin & Bulenkov
A fresh design; default JetBrains IDE font.
2020
JuliaMono Mono · grotesque
cormullion
Exhaustive scientific / math Unicode coverage.
2021
Berkeley Mono Mono · retro-computing grotesque
US Graphics · Neil Panchal
'Frutiger visits Bell Labs'; premium dev font.
2022
Fragment Mono Mono · 'Helvetica mono'
URW · Wei Huang
Monospaced Nimbus Sans.
2023
Geist Mono Sans / Mono · neo-grotesque
Vercel · Andrés Briganti
Swiss-influenced dev-brand face.
2023
Monaspace Mono · variable superfamily
GitHub Next · Lettermatic
Five voices + 'texture healing'.
2023
Commit Mono Mono · neutral grotesque
Eigil Nikolajsen
Cites Fira Code + JetBrains; parametric builds.
2023
Intel One Mono Mono · accessibility grotesque
Intel · Frere-Jones Type
Low-vision-focused, strongly disambiguated glyphs.
2024
Departure Mono Mono · pixel / bitmap
Helena Zhang
A lo-fi pixel font — its own branch.
2024
Sharp Earth Mono Mono · geometric grotesque
Sharp Type · Lucas Sharp
Mono cut of Sharp Earth (date approximate).
2026
Buena Mono Mono · writer-first neo-grotesque
Buena
A writer-first neo-grotesque — free, open-source, variable, with coding ligatures.

Grounded in reading science

buena mono's design decisions are informed by peer-reviewed research on legibility, monospace reading, and type for machine readers.

Design informed by these findings — buena mono itself was not a subject of these studies. See the technical reports for evidence pages generated from the font itself.

Credits

Designed by
Buena
License
SIL OFL 1.1
free for commercial & personal use
Version
v1.228