/programmingfonts

Test drive programming fonts online: the definitive list of fonts for code.

Primary LanguageCSSMIT LicenseMIT

Programming Fonts

Test drive programming fonts online in your browser. The interactive counter part of the Tumblr Blog.

ProgrammingFonts.org makes it easier to find monospaced fonts. All fonts in one place, with proper credits towards the creators. It's not a download portal, we don't track anything, it's strictly by nerds and designers for nerds and designers.

Buy me a coffee

☕️👌🏻

This website is powered by coffee. No ads, no tracking, no monetization. We do have some costs for domain name. And coffee. Gallons of coffee. Please feel free to make a little donation via PayPal to keep this labour of love running. It's much appreciated!

Project layout / contributing

  • All information about the fonts is stored in fonts.json.
  • Font files are stored in fonts/resources.
    • We store only 4 variants (if available), in .woff2 format (if available): regular, italic, bold, bold+italic
  • All font files (and directories) are normalized to lowercase, without -mono unless it's really part of the name.
  • The fonts.less registers the variants for each font "alias" and is used to generate the stylesheets.
  • The license needs to allow serving in a website, or an agreement with the font creators needs to be made. If available we add a license file along with the font files.
  • Running make checks the json and builds the stylesheet.
  • Run python3 listing.py to print an updated list of all the fonts, be sure to update this README with your addition.

Notable omissions

A complete list of fonts in this project is all the way at the bottom of this README. However, some fonts are not included in the project:

Commercially licensed fonts

We've been able to license some commercial fonts for programmingfonts.org, but there are simply too many out there... including:

Curious "Free" Fonts

To date we've been unable to find a reliable source of information or downloads for these fonts, although we know they're out there:

  • Cruft
  • Espresso Mono
  • Selectric
  • Topaz-8
  • TI92PLUS
  • DejaVu Markup
  • Natural Mono

Bitmap FON files

Some bitmap fonts are only available in (Windows) FON files. Sometimes conversions to TTF are available, but they don't always work. Sadly we can't include these on the website:

Mixed fonts

These fonts combine different fonts, that are mostly already featured on this website, to create a complete set of characters for both lating script, and CJK:

The PICO-8 project combines and tweaks several fonts for PICO-8 programming: https://github.com/juanitogan/p8-programming-fonts

Limitations of this project

There are sometimes near infinite variations of certain fonts. Take for instance the variable weights and all the options of a configurable font like Commit Mono. Certain fonts also come with dozens of (OpenType) variations to change shapes of characters, zero styles, ligatures, etc. We hint at these possibilities in programmingfonts.org, but for details you really need to explore the websites of these fonts.

Therefore:

  • We only include the basic 4 styles of any font to ensure correct rendering in the preview, but don't let you explore all the weights and variations.
  • Open type alternatives for zero style, and others (for instance all the different variations possible with Input Mono) are not exposed.
  • Programming ligatures (e.g. =>) are switched on, but if you don't like them most editors will allow you to switch them off.
  • Character set coverage and other valuable information, e.g. if a font has true italics, is not exposed. If you have specific use cases, known candidates for wide character set coverage include Noto, DejaVu and GNU Unifont, whereas M+ covers most CJK sets.

All the fonts