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, no tracking, monetization or business plan: it's strictly by nerds and designers for nerds and designers.
This website is powered by coffee. No ads, no monetization, no business model. We do have some costs for the domain name however. Please feel free to make a little donation via to keep this labour of love running. It's much appreciated!
- All information about the fonts is stored in fonts.json.
- Which adheres to a schema.
- Font files are stored in fonts/resources.
- We store only 4 variants (if available), in
.woff2format: regular, italic, bold, bold+italic. - If you don't have a
.woff2you can useconvert.pyto create them off the ttf/otf file.
- We store only 4 variants (if available), in
- All font files (and directories) are normalized to lowercase, without
-monounless it's really part of the name. - Each font lives in a directory named after its alias, and the variant files within follow a consistent naming scheme based on that alias:
- regular: no suffix, e.g.
iosevka/iosevka.woff2 - italic:
-italic, e.g.iosevka/iosevka-italic.woff2 - bold:
-bold, e.g.iosevka/iosevka-bold.woff2 - bold+italic:
-bold-italic, e.g.iosevka/iosevka-bold-italic.woff2
- regular: no suffix, e.g.
- Alongside the variants, each font directory should also include the font's license file (e.g.
iosevka/license.md,agave/LICENSE,audio-link/OFL.txt), exactly as shipped by the creator. - 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.
The glyphs, characters and languages data can be added to the JSON by running the info.py script. To run it for one font:
python3 info.py --name yourfont- Running
makeinstalls dependencies, lints, validatesfonts.json(against fonts-schema.json andvalidate.js), and builds the stylesheet.- The stylesheet stylesheet.css is generated from
fonts.lessvianpx lessc— don't edit it by hand; editfonts.lessand rebuild.
- The stylesheet stylesheet.css is generated from
- Run
make serveto preview the site locally (python3 -m http.server). - Run
make list(orpython3 listing.py) to print an updated list of all the fonts, be sure to update this README with your addition.
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:
We've been able to license some commercial fonts for programmingfonts.org, but there are simply too many out there... including:
- Aeonik Mono: https://cotypefoundry.com/our-fonts/aeonik-mono/
- Akkurat Mono: https://lineto.com/typefaces/akkurat-mono
- Andale: https://learn.microsoft.com/en-us/typography/font-list/andale-mono
- Aperçu: https://www.colophon-foundry.org/typefaces/apercu
- Berkeley Mono: https://berkeleygraphics.com/typefaces/berkeley-mono/
- Consolas: https://learn.microsoft.com/en-us/typography/font-list/consolas
- Courier (New): https://learn.microsoft.com/en-us/typography/font-list/courier-new
- Dank Mono: https://philpl.gumroad.com/l/dank-mono
- Everson Mono: https://www.evertype.com/emono/licence.html
- GT America Mono: http://www.gt-america.com
- GT Pressura Mono: https://gt-pressura.com
- Letter Gothic: https://fonts.adobe.com/fonts/letter-gothic
- Lucida Console: https://learn.microsoft.com/en-us/typography/font-list/lucida-console
- Maison Mono: https://www.myfonts.com/products/maison-mono-pack-package-944927
- Menlo: https://en.wikipedia.org/wiki/Menlo_(typeface)
- Monaco: https://en.wikipedia.org/wiki/Monaco_(typeface)
- Native: https://fortfoundry.com/fonts/native
- Operator: https://www.typography.com/fonts/operator/overview
- Pitch: https://klim.co.nz/retail-fonts/pitch/
- PragmataPro: https://fsd.it/shop/fonts/pragmatapro/
- Presite Elite: https://www.myfonts.com/collections/prestige-elite-font-urw
- San Francisco Mono: https://developer.apple.com/fonts/
- Triplicate: https://practicaltypography.com/triplicate.html
- Wumpus Mono: https://vaughantype.com/wumpus-mono-pro/
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
- Natural Mono
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:
- Dina: https://www.dcmembers.com/jibsen/download/61/
- Glean: https://github.com/benwr/glean
- Neep: https://github.com/nikolas/jmk-x11-fonts
- Tamsyn: http://www.fial.com/~scott/tamsyn-font/
- Terminus: https://sourceforge.net/projects/terminus-font/ (TTF/OTF conversions are included, but not quite the same)
- Triskweline: http://www.netalive.org/tinkering/triskweline/
- UW ttyp0: https://people.mpi-inf.mpg.de/~uwe/misc/uw-ttyp0/
- Zevv-peep: https://github.com/netyaroze/zevv-peep
For "the world's biggest collection of classic text mode fonts, system fonts and BIOS fonts from DOS-era IBM PCs and compatibles", please have a look here: https://int10h.org/oldschool-pc-fonts/.
These fonts combine different fonts, that are mostly already featured on this website, to create a complete set of characters for both latin script, and CJK:
- Ricty Diminished: https://github.com/edihbrandon/RictyDiminished (combines Inconsolata for Latin script with M+ for others)
- Sarasa-Gothic: https://github.com/be5invis/Sarasa-Gothic A CJK programming font based on Iosevka and Source Han Sans.
The PICO-8 project combines and tweaks several fonts for PICO-8 programming: https://github.com/juanitogan/p8-programming-fonts
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.
- Adwaita MonoSIL OFL (view)
- AgaveMIT (view)
- Anka/CoderSIL OFL (view)
- Annotation MonoSIL OFL (view)
- Anonymous ProSIL OFL (view)
- APL2741public domain (view)
- APL385public domain (view)
- Aporetic Sans MonoSIL OFL (view)
- Aporetic Serif MonoSIL OFL (view)
- Atkinson Hyperlegible MonoSIL OFL (view)
- AudioLink MonoSIL OFL (view)
- Aurulent Sans MonoSIL OFL (view)
- Average MonoGNU GPL (view)
- Azeret MonoSIL OFL (view)
- B612 MonoSIL OFL (view)
- Bedsteadpublic domain (view)
- BigBlue TerminalCC BY-SA 4.0 (view)
- Binchotan SharpSIL OFL (view)
- Bitstream Vera Sans MonoBitstream Vera (view)
- Borg Sans MonoApache (view)
- BPmonoCC BY-ND 3.0 (view)
- Bront DejaVu Sans MonoBitstream Vera (view)
- Bront Ubuntu Mononone (view)
- CamingoCodeCC BY-ND 3.0 (view)
- Cartographcommercial (view)
- Cascadia CodeSIL OFL (view)
- Chivo MonoSIL OFL (view)
- Computer Modern Unicode TypewriterSIL OFL (view)
- Code New RomanSIL OFL (view)
- Comic MonoMIT (view)
- Comic ShannsMIT (view)
- Commit MonoSIL OFL (view)
- Consola MonoSIL OFL (view)
- IBM Courierpermissive (view)
- Courier PrimeSIL OFL (view)
- CousineApache (view)
- CozetteMIT (view)
- Cutive MonoSIL OFL (view)
- D2CodingSIL OFL (view)
- DaddyTimeMonoSIL OFL (view)
- DejaVu MonoBitstream Vera (view)
- DejaVu MarkupBitstream Vera (view)
- Departure MonoSIL OFL (view)
- DM MonoSIL OFL (view)
- DPSDbeyondSIL OFL (view)
- Drafting* MonoSIL OFL (view)
- Droid SansApache (view)
- EdloSIL OFL (view)
- Effects EightySIL OFL (view)
- EirianSIL OFL (view)
- Ellograph CFcommercial (view)
- Envy Code Bnone (view)
- Envy Code RSIL OFL (view)
- FairfaxSIL OFL (view)
- Fairfax HDSIL OFL (view)
- Fantasque Sans MonoSIL OFL (view)
- FifteenSIL OFL (view)
- Fira MonoSIL OFL (view)
- Fira CodeSIL OFL (view)
- FixedsysGNU GPL (view)
- Fixedsys Excelsiorpublic domain (view)
- IBM 3270 __ (view)
- Fragment MonoSIL OFL (view)
- Generic Mono IISIL OFL (view)
- Geist MonoSIL OFL (view)
- Gintroniccommercial (view)
- GNU FreefontGNU GPL (view)
- Go MonoMIT (view)
- Gohufont 11WTFPL (view)
- Gohufont 14WTFPL (view)
- Google Sans CodeSIL OFL (view)
- HackMIT (view)
- Hack LigaturedGNU GPL (view)
- HaskligSIL OFL (view)
- HermitSIL OFL (view)
- Heterodox MonoSIL OFL (view)
- iA Writer MonoSIL OFL (view)
- IBM VGA 9x16CC BY-SA 4.0 (view)
- InconsolataSIL OFL (view)
- Inconsolata-gSIL OFL (view)
- Indicate Monocommercial (view)
- Input Monocommercial (view)
- Intel One MonoSIL OFL (view)
- IosevkaSIL OFL (view)
- Ioskeley MonoSIL OFL (view)
- JetBrains MonoSIL OFL (view)
- JuliaMonoSIL OFL (view)
- Latin Modern MonoGUST font license (view)
- League MonoSIL OFL (view)
- LektonSIL OFL (view)
- Liberation MonoSIL OFL (view)
- LilexSIL OFL (view)
- LotionSIL OFL (view)
- LuculentSIL OFL (view)
- Luxi MonoLuxi License (view)
- Lyth MonoSIL OFL (view)
- Maple MonoSIL OFL (view)
- Martian MonoSIL OFL (view)
- MD IOcommercial (view)
- MenschBitstream Vera (view)
- Meslo LGBitstream Vera (view)
- MiracodeSIL OFL (view)
- Monaspace ArgonSIL OFL (view)
- Monaspace KryptonSIL OFL (view)
- Monaspace NeonSIL OFL (view)
- Monaspace RadonSIL OFL (view)
- Monaspace XenonSIL OFL (view)
- Mona Sans MonoSIL OFL (view)
- MonocraftSIL OFL (view)
- Monoflowcommercial (view)
- MonofokiSIL OFL (view)
- monofurfreeware (view)
- MonoidMIT (view)
- MonoLisacommercial (view)
- mononokiSIL OFL (view)
- MynaSIL OFL (view)
- M PLUS 1 CodeSIL OFL (view)
- Nanum Gothic CodingSIL OFL (view)
- Nimbus Mono PSGNU GPL (view)
- NK57 Monospacepublic domain (view)
- Nordwand Monopublic domain (view)
- NotCourierSansGNU GPL (view)
- Noto Sans MonoSIL OFL (view)
- Nova MonoSIL OFL (view)
- Office Code ProSIL OFL (view)
- Old Timey CodeSIL OFL (view)
- OpenDyslexic MonoSIL OFL (view)
- Overpass MonoSIL OFL (view)
- 0xProtoSIL OFL (view)
- Oxygen MonoSIL OFL (view)
- Paper MonoSIL OFL (view)
- IBM Plex MonoSIL OFL (view)
- Press Start 2P __ (view)
- ProFontMIT (view)
- Proggy CleanMIT (view)
- Proggy VectorMIT (view)
- psudoFont Liga MonoSIL OFL (view)
- PT MonoSIL OFL (view)
- QuinzeSIL OFL (view)
- RecursiveSIL OFL (view)
- Reddit MonoSIL OFL (view)
- Red Hat MonoSIL OFL (view)
- Roboto MonoApache (view)
- saxMonofreeware (view)
- ScientificaSIL OFL (view)
- SergamonSIL OFL (view)
- Serious ShannsMIT (view)
- Share Tech MonoSIL OFL (view)
- Sinclair QLCC BY-SA 3.0 (view)
- Sinclair QL ExtendedCC BY-SA 3.0 (view)
- Sk-Modernistcommercial (view)
- Sligoil MicroSIL OFL (view)
- Sometype MonoSIL OFL (view)
- SonoSIL OFL (view)
- Source Code ProSIL OFL (view)
- Space MonoSIL OFL (view)
- SpleenBSD-2-Clause (view)
- SudoSIL OFL (view)
- Terminus (Consoleet)SIL OFL (view)
- Terminus (Consoleet, smooth)SIL OFL (view)
- Terminus (TTF)SIL OFL (view)
- TeX Gyre CursorGUST font license (view)
- Topaz (A1200)GNU GPL (view)
- Topaz (A500)GNU GPL (view)
- Twilio Sans MonoSIL OFL (view)
- Ubuntu MonoUbuntu Font Licence (view)
- GNU UnifontGNU GPL (view)
- UnifontEXGNU GPL (view)
- Verily Serif MonoBitstream Vera (view)
- Victor MonoMIT (view)
- VT323SIL OFL (view)
- ZhiMa MonoSIL OFL (view)