Skip to the fonts
Portfolio
David Hatleydesign · AI/ML · generative tools

16 free families

Every face here is mine, drawn in code and free under the SIL Open Font License: use it, change it, ship it. Pixel faces land on whole pixels at 16, 32, 48, 72 and 120 px.

Families 16Styles 19Glyphs drawn 1,972Kern pairs 16,767All WOFF2 134.7 KBLicence OFL 1.1Updated 2026-10-27
Plate 0.1 · Construction · 01 / 16Stem 7 · letter g

Stem 7

The pixel font drawn on the grid of my mark. Five sizes, zero grey pixels.

UPM 2400x-height 1200Cap 2100Cell 300 u
Open the specimen →
  1. Outline12 on-curve points on 2 contours. Each square sits on the outline.
  2. x-height1200 units, where the lowercase stops. No handles here: every edge is straight.
  3. Advance1500 of 2400 units: the letter’s width, from the left rule to the right.

Each family's signature letter, drawn from its real outline: squares are on-curve points, rings are handles, and the grid faces show the cell every pixel lands on. The strip is the index; pick a letter to read its construction.

Text
Size · px
Category
View

16 of 16 families

01Stem 7Pixel

Every edge on a whole pixel

The pixel font drawn on the grid of my mark. Five sizes, zero grey pixels.

Glyphs 121Kern 181Styles 3WOFF2 3.4 KB
Zip ↓
02Stem 7 WidePixel · Display

DIVE CLUB

Stem 7 with every column and every gap doubled: titles that sit wide and calm.

Glyphs 121Kern 181Style 1WOFF2 3.4 KB
Zip ↓
03Stem 7 CondensedPixel

SEED 4127 · build log 07

Stem 7 with every run of repeated columns collapsed: tables, labels and dense data.

Glyphs 121Kern 118Style 1WOFF2 3.3 KB
Zip ↓
04Pip 57Pixel · Mono

Next stop: 07 · on time

A 5×7 dot-matrix face with a true lowercase. Departure boards and scoreboards.

Glyphs 107Style 1WOFF2 2.5 KB
Zip ↓
05Tube 5Display · Pixel

NEON · SIGNS · POSTERS

Unicase capitals bent from one-cell tubes, like neon. Posters, signs and title cards.

Glyphs 78Style 1WOFF2 2.0 KB
Zip ↓
06Tick 35Pixel

HP 28/30 · SEED 4127

A 3×5 micro face for HUD readouts and labels, sharp down to 16 px.

Glyphs 79Style 1WOFF2 1.8 KB
Zip ↓
07HoopSans

Small legible worlds

A geometric monoline sans drawn from lines and one circle. The text face of this site.

Glyphs 108Kern 2,994Styles 2WOFF2 9.1 KB
Zip ↓
08Hoop MonoMono · Sans

git commit -m "fix: kern F"

Hoop fitted to one 600-unit cell, with slabs on i, j, l and r. Code and terminals.

Glyphs 108Style 1WOFF2 12.0 KB
Zip ↓
09NotchSerif · Display

STOP SHRINKING

A heavy, low-contrast display serif with ink traps cut into every join.

Glyphs 54Kern 549Style 1WOFF2 9.0 KB
Zip ↓
10CantilenaSerif · Display

Canciones Españolas

A display Didone drawn as Bézier outlines: hairline serifs, bracketed joins and ball terminals on thin necks.

Glyphs 105Kern 4,906Style 1WOFF2 10.4 KB
Zip ↓
11BrickBlackletter · Display

Cult Classic

A geometric gothic: octagonal skeletons under a square pen, bevelled where strokes meet.

Glyphs 108Kern 2,631Style 1WOFF2 6.9 KB
Zip ↓
12SpireDisplay

ULTRA LEGIBLE 02

An ultra-condensed poster face: squared bowls at half width under a heavy round pen.

Glyphs 108Kern 1,851Style 1WOFF2 13.7 KB
Zip ↓
13HopscotchDisplay

Wrongo bongo hopscotch

A heavy, bouncy display face that never sets the same letter twice in a row.

Glyphs 108Style 1WOFF2 38.6 KB
Zip ↓
14BulletDisplay · Sans

LINE 7 → A

Wayfinding bullets: Hoop Bold capitals, figures and marks knocked out of a disc.

Glyphs 82Style 1WOFF2 11.3 KB
Zip ↓
15MazePixel · Mono

Find the exit

Pip 57's cells joined into hollow corridors: every letter is a labyrinth.

Glyphs 107Style 1WOFF2 4.3 KB
Zip ↓
16BulkheadPixel · Display

RACK 10 · BAY 4

A wide stencil face for machines: cells at 1.5× width, steps filled, bars slit.

Glyphs 107Style 1WOFF2 3.0 KB
Zip ↓