A collection of pixel fonts for various purposes.
7x13 pixel font: minimal font size that is still very usable for writing code.
5x8 pixel font: minimal font size to not have ambiguities, and support multiple weights.
5x10 pixel font: a minimal legible font size to to ensure consistent baseline for better legibility.
8x16 monospace sans serif pixel font with an italic version.
3x7 pixel font: a minimal font size that is still legible for both upper and lower case letters, numbers, and all the ASCII symbols. No ambiguities, and straight baseline.
3x5 pixel font: a minimal font size that is still legible for upper and lower case letters, as well as numbers. Some other ASCII symbols are OK. No ambiguities.
3x4 pixel font: a minimal font size that is still legible for upper and most of the lower case letters, as well as numbers. Very few other ASCII symbols look OK. No ambiguities.
3x3 pixel font: a minimal font size that is still somewhat legible for upper and some lower case letters and numbers, however it introduces some ambiguity (same glyphs for Z, z, and 2; T and t; 1 and l; Q and q; G and g; O and o, K and k, etc.).
All typefaces have a nerd font patched version. Patched with the complete icon set.
- Download the font files from the latest release, or from the
/builddirectory - Install the fonts on your system:
- macOS: Double-click the font files or use Font Book
- Linux: Copy to
~/.local/share/fonts/and runfc-cache -f -v - Windows: Right-click and select "Install"
Contributions are welcome! Please feel free to submit a Pull Request.
If you want to add a new font, you should add it to the ./src folder. The ./src folder structure is the following:
📁 familyname/
├── 📁 regular/
│ └── familyname-regular.ttf
├── 📁 italic/
│ └── familyname-italic.ttf
├── 📁 bold/
│ └── familyname-bold.ttf
└── 📁 bolditalic/
└── familyname-bolditalic.ttf
That is it! Once the PR is in, I will run the build script locally (CI will be added)
If you want to run the build youself you can optionally do so too:
To properly build the new font you will need:
- FontForge with Python bindings (
brew install fontforgeon macOS, orsudo apt-get install fontforgeon Linux) - Python 3
Then run ./build.sh — an interactive script that will:
- Let you select which font families to build (space to toggle,
ato select all) - Configure metadata options (naming, font type, version bump, line height)
- Optionally add OpenType features (small caps, old-style figures)
- Optionally patch with Nerd Fonts icons
The script adds proper metadata so that the OS recognizes all the different files as belonging to the same font family.
- Install FontForge
- Open the font in FontForge
- Element → Font Info...
- General tab:
- Fontname: unique font name including the font family and the variant. E.g. Helvetica Regular
- Font Family: only the font family that needs to be the same on all fonts. E.g. Helvetica
- Name for Humans: just use same as font family
- TTF Names tab:
- <New> → English (US) → Preferred Family → e.g. Helvetica
- <New> → English (US) → Preferred Styles → e.g. Regular
- if you changed the Fontname, update the UniqueID as well
- File → Generate Fonts...
- check validate before saving
- use TrueType
- No BitMap Fonts
- Generate
Install python (brew install python on mac)
run ./generate
This will generate the nerd fonts and put them in the /build directory.
fontforge --script ./patcher/font-patcher --careful --mono --complete --simple ./picotype/picotype-regular.ttf
the --simple argument preservers the lowercase convention of all pico fonts so you don't need to use fontforge again







