All blog posts

Make a pixel font in your browser.

Draw a pixel font in the browser: 95 glyphs on a fixed grid. Tune the spacing, then export a real web font or a game-ready bitmap pack.

The short version: open the font tool, fill the 95 ASCII glyphs from scratch or from a sprite sheet, set the advance widths, then export a web font or a BMFont bitmap pack.

Why bitmap

One size, drawn on purpose.

A normal font describes letter outlines with curves, then a rasteriser guesses how to fill the pixels at each size. That guessing is exactly what makes a pixel typeface look mushy: at small sizes the curves get hinted and anti-aliased into a soft blur. A pixel font skips the guessing. You place every pixel yourself at the size the font is meant to live at, so it stays crisp instead of being interpreted.

That precision is the whole appeal, and it is why pixel type carries so much character — a title screen, a watch face, a retro UI, a logo. The catch is that a hand-placed grid only looks right near its native size, so the move is to decide where it ships before you draw it.

Step one

Open the font tool.

The engine has a dedicated font mode. You can begin two ways: start from scratch at a chosen cell size and draw into blank glyph cells, or import a sprite sheet of glyphs you already have and let the tool slice it into cells you trace over. Either way you end up with one editable cell per character.

Step two

Fill the glyphs and set the spacing.

Draw the letters, numbers, and punctuation on the grid. The part beginners skip is spacing: a font is only as good as its rhythm. Set each glyph's advance width — how far the cursor moves after it — plus the left and right bearings, and a shared baseline so everything sits on the same line. A capital M needs more room than a lowercase i, and tuning that is what separates a font from a grid of letters.

If you need weight, generate Bold and Heavy automatically from your Regular master, then lock any glyph you have hand-finished so it is not regenerated. Preview with a real sentence as you go; spacing problems only show up in actual words.

Two exports, two jobs

Websites

Clean Web Font.

Exports TTF, WOFF and WOFF2 plus a font.css and a preview page. Use it for headings, nav, buttons, and labels as real selectable text.

Games & logos

Exact Bitmap Pack.

Exports a PNG atlas, a JSON manifest, a BMFont file, and a CSS helper. Use it where pixels must stay exact: HUDs, title art, fixed-size UI.

Display

Experimental Color Font.

Keeps tonal edges where the platform supports colour fonts. Best for premium display type, with the usual colour-font compatibility caveats.

Pick the export that matches where the type lives. The web font is selectable, scalable text; the bitmap pack is exact artwork.

Step three

Export the profile that fits.

For website text, the Clean Web Font profile builds TTF, WOFF, and WOFF2 plus a ready-to-paste @font-face CSS file, so headings and buttons render as real, selectable, scalable text. For games, logos, and fixed-size UI, the Exact Bitmap Pack keeps the pixels exactly as you drew them — a PNG atlas, a JSON manifest, and a BMFont file many engines and renderers read directly.

The honest tradeoff: a web font scales and stays selectable but anti-aliases as it grows; a bitmap pack is pixel-exact but tied to its size. Pick by where the type has to live, or export both from the one source.

From blank cells to a usable font

01

Open font mode

Start from scratch at a cell size, or slice a glyph sheet.

02

Draw 95 glyphs

Fill the printable ASCII set, one character per cell.

03

Tune spacing

Set advance widths, bearings, and a baseline; preview real text.

04

Export

Ship a web font (TTF/WOFF/WOFF2) or a BMFont bitmap pack.

Most of the work is in the middle two steps: the glyphs, then the spacing that makes them read as words.

Pixel font checklist

  • Decide where the font ships first: web text, or game and logo artwork.
  • Open font mode and start from scratch or slice an existing glyph sheet.
  • Draw all 95 printable ASCII glyphs, one per cell.
  • Set advance widths and bearings so words space evenly, not just letters.
  • Generate Bold and Heavy from Regular only if you need weight; lock finished glyphs.
  • Export a web font (TTF/WOFF/WOFF2) for sites, or a bitmap pack for games and logos.