Best free programming fonts to use in 2020

Best free programming fonts to use in 2020

This is not just a simple list of monospaced fonts for formatting code snippets. It’s a very selective set of typefaces that are designed and optimized for programming and contain ligatures for common programming multi-character combinations.

The ligatures are just a font rendering feature, so the code remains ASCII-compatible.
As mentioned in January 2020, JetBrains created their own programming font, JetBrains Mono, included in the JetBrains IDE starting with version 2019.3.

Fira Code

Fira Code is an extension of Fira Mono, that adds a lot of ligatures. For preview images, details, and pull requests visit the Fira Code Github repo.

Fira Code free programming font

Projects that use Fira Code: All JetBrains products, CodePen, Blink Shell, Klipse, IlyaBirman.net, EvilMartians.com, Web Maker, FromScratch.
Fira Code works in more than 50 editors.

  • Language support: Latin Extended, Cyrillic Extended, Greek Extended
  • Format: desktop (.OTF, .TTF), webfonts (.WOFF, .WOFF2, .EOT)
  • License: SIL Open Font License v1.1 → Licenses explained
  • Includes 5 styles: Light, Regular, Medium, Bold, Retina

Download Fira Code

Fira Code Github repo

Iosevka

Iosevka is a slender monospace sans-serif and slab-serif typeface inspired by Pragmata Pro, M+ and PF DIN Mono.

For preview images, details, and pull requests visit the Iosevka Github repo.
View specimen (all characters and styles)

Iosevka free programming font

  • Language support: 2000 glyphs (Latin Extended, Greek, Cyrillic, phonetic, PowerLine glyphs). IosevkaCC variant is also provided to be compatible with most CJK typefaces
  • Format: desktop (.TTF), webfonts (.WOFF, .WOFF2)
  • License: SIL Open Font License v1.1 → Licenses explained
  • Includes 54 styles:
    • Iosevka Sans: 9 weights (Thin, Extralight, Light, Regular, Medium, Semibold, Bold, Extrabold, Heavy) plus matching italics and obliques
    • Iosevka Slab: 9 weights (Thin, Extralight, Light, Regular, Medium, Semibold, Bold, Extrabold, Heavy) plus matching italics and obliques
  • Has OpenType features like multiple Stylistic Alternates Sets

Download Iosevka

Iosevka Github repo

Hasklig

Hasklig is a fork of Source Code Pro that adds ligatures for code.

Composite glyphs are problematic in languages such as Haskell that use operators like =>, -< or >>= extensively. The readability of complex code improves with ligatures.

Some Haskell programmers use Unicode symbols (⇒, ← etc.), which are valid in the GHC. However, the symbols are one character wide and eye-straining. And when displayed as substitutes to the underlying multi-character representation, the characters go out of alignment.

Hasklig free programming font

  • Language support: Latin Extended
  • Format: desktop (.OTF)
  • License: SIL Open Font License v1.1 → Licenses explained
  • Includes 14 styles: 7 weights (ExtraLight, Light, Regular, Medium, SemiBold, Bold, Black) plus matching italics

Download Hasklig

Hasklig Github repo

Hack

Hack is designed to be a workhorse typeface for source code. It has great legibility at commonly used source code text sizes, with a sweet spot that runs in the 8 – 14 range.
View specimen

Hack free programming font

  • Language support: ASCII, Latin-1, Latin Extended A, Greek, Cyrillic
  • Format: desktop (.OTF)
  • License: MIT License → See license text
  • Includes 4 styles: 2 weights (Regular, Bold) plus matching italics
  • Powerline Support: Yes, included by default

You can also check out Alt Hack, a stylistic alternate glyph library. It provides alternate glyph design source files (*.glif) to support drag + drop + overwrite existing source Unicode code point customization.

Download Hack

Hack Github repo