Best Unicode Fonts for Programer

By Xah Lee. Date: . Last updated: .

This page shows the best fonts for programers.

What do i mean “best”? The font should be:

  1. Monospace. A variable-width version is a plus.
  2. Clearly distinguish {digit zero,capital letter O, small letter o } {0 O o} and {digit one, lowercase letter L, capital case letter I} {1 l I}
  3. Have lots math symbols and commonly used Unicode character available.

There are lots fonts designed for programers, but as soon as you started to use some math symbols or Unicode symbols, they don't work well.

Copy & Paste the following into your editor, see how your font do.

«»‹›“”‘’〖〗【】「」『』〈〉《》〔〕 ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ αβγδεζηθικλμνξοπρςτυφχψω ¤$¢€₠£¥ ©®™²³ §¶†‡※ •◦‣✓●■◆○□◇★☆♠♣♥♦♤♧♡♢ ᴁᴂᴈ ♩♪♫♬♭♮♯ “” ‘’ ¿¡ ¶§ª - ‐ ‑ ‒ – — ― … ° ⌈⌉ ⌊⌋ ∏∑∫ ×÷ ⊕⊖⊗⊘⊙⊚⊛∙∘ ′″‴ ∼∂√ ≔× ⁱ⁰¹²³ ₀₁₂ π∞± ∎ ∀¬∧∨∃⊦∵∴∅∈∉⊂⊃⊆⊇⊄⋂⋃ ≠≤≥≮≯≫≪≈≡ ℕℤℚℝℂ ←→↑↓ ↔ ↖↗↙↘ ⇐⇒⇑⇓ ⇔⇗ ⇦⇨⇧⇩ ↞↠↟↡ ↺↻ ☞☜☝☟ ⌘⌥‸ ⇧⌤↑↓→←⇞⇟↖↘ ⌫ ⌦ ⎋⏏↶↷◀▶▲▼ ◁▷△▽ ⇄ ⇤ ⇥ ↹↵↩⏎ ⌧⌨␣ ⌶ ⎗⎘⎙⎚⌚⌛ ✂✄✉✍ ①②③④⑤⑥⑦⑧⑨⓪ 卐卍 ✝✚✡☥⎈☭☪☮☺☹☯☰☱☲☳☴☵☶☷☠☢☣☤♲♳⌬♨♿☉☼☾☽♀♂♔♕♖♗♘♙♚♛♜♝♞♟❦ 、。!,:林花謝了春 紅,太匆匆。無奈朝來寒雨,晚來風。胭脂淚,留人醉,幾時重,自是人生長恨, 水長東。

For more examples of Unicode characters, see: Unicode Characters Search ☢ ☯ ☭ ∑ ∞ ♀ ♂ ♥.

Best Fixed-Width Fonts for Unicode

DejaVu Sans Mono

font DejaVu Sans Mono Unicode 2014-10-05
DejaVu Sans Mono showing Unicode characters.

Download DejaVu fonts at

DejaVu has significantly more Unicode symbols than other popular fixed-width fonts such as {Courier New, Sans Mono, Miriam Fixed, Lucida Console, Lucida Sans Typewriter}.

One of the best font is the “DejaVu” suite. “DejaVu Sans Mono” for fixed-width and “DejaVu Sans” for variable-width. This font also contains most of the math symbols in Unicode. 〔➤see Math Symbols in Unicode

emacs, font DejaVu Sans Mono
Emacs using font DejaVu Sans Mono

GNU Unifont

GNU Unifont also contains most Unicode chars. Its home page is at:

GNU Unifont is a bitmapped font. (it's converted to scalable format (TrueType) in 2008 by Paul Hardy, but still bitmapped by design). This means, if you make the font size large, you'll see jagged edges.

emacs GNU Unifont
GNU Unifont when enlarged.

Note: There's also Fixedsys and Code2000 that contains extensive Unicode characters (more than DejaVu). However, their quality is very bad.

Best Variable-width Font for Unicode

Two best proportional font for Unicode are DejaVu Sans and Arial Unicode MS. Both are sans-serif.

DejaVu Sans

DejaVu fonts is a suite of fonts containing both fixed-width (monospaced) and variable-width fonts.

Download DejaVu fonts at

Arial Unicode MS

On Microsoft Windows, you should try Arial Unicode MS. It comes with Microsoft Office, and is also in Mac OS X 10.5. (if you don't have it, you might be able to get it from Microsoft office free trial.)

emacs Arial Unicode MS font
Arial Unicode MS in emacs displaying Unicode chars.

Note that Arial Unicode MS has big gap between lines. So, you may not like it for programing. (but if you use emacs, you can adjust line spacing. 〔➤see Emacs: Set Line Spacing〕)

For a comparison of these 2 fonts for reading, see: Unicode Font Comparison: Arial Unicode MS vs DejaVu Sans.

emacs, font Lucida Sans Unicode
Emacs using font Lucida Sans Unicode.

What About Mac?

Apple has very good font technology with many beautiful fonts. My experience is that it works out of the box for all your Unicode symbol needs. But if you are on a old version of Mac OS X and many Unicode chars on this page shows up as squares, you can install the fonts recommended on this page.

Font for Unicode Emoticons 😸 👍

Unicode 6 added a few hundred emoticons, such as GRINNING CAT FACE WITH SMILING EYES 😸. These characters are not in any generic font, as of .

For these, you'll the Symbola font. See: Unicode 6 Emoticons.

Which Font Has All Unicode Chars?

No single font has ALL Unicode chars. At best, they contain all chars in the Basic Multilingual Plane (BMP). The BMP contains the most common 65.536 k chars. (Unicode has 16 other “planes”, but these are rarely used.)

Font Substitution Tech

{Microsoft Windows, Mac OS X, Linux} all have Font substitution technology. When a char in the current font doesn't have a glyph, the system search for the glyph in other font set. So, this way, each font can be specially designed for a particular language or purpose, while you can still display many Unicode symbols in the same page.

StackOverflow answers: “How does a Unicode character get mapped to a glyph in a font?”: Source

Thanks to Pete Forman who suggested the font DejaVu.

Emacs: Font Configuration

Emacs: Font Configuration

Like it? Buy Xah Emacs Tutorial. Thanks.

or, buy something from my keyboard store.