Fira Code

Light

300

Regular

400

Medium

500

Bold

700

Characters

Aa
Bb
Cc
Dd
Ee
Ff
Gg
Hh
Ii
Jj
Kk
Ll
Mm
Nn
Oo
Pp
Qq
Rr
Ss
Tt
Uu
Vv
Ww
Xx
Yy
Zz
Åå
Ææ
Çç
Éé
Øø
Ññ
Üü
Žž
1234567890
‘¿?’
“!”
- – —
(&)
[*]
{@}
€£¥$¢
:;,.
<>+÷×=

Fira Code originated not in a traditional type foundry, but in the software engineering environment, emerging from a specific friction between modern programming languages and the mechanical constraints of the terminal. Conceived in 2014 by Russian developer Nikita Prokopov, the face takes as its foundation Fira Mono—the open-source fixed-pitch design drawn by Ralph du Carrois and Erik Spiekermann for Mozilla’s Firefox OS. Prokopov observed an enduring typographic problem in source code: while programming languages frequently employ multi-character sequences (!=, ->, ===, <=, <!--) to signify singular logical operations, monospace fonts treated those sequences as disjointed, isolated glyphs. Released under the SIL Open Font License, Fira Code resolved this dilemma by applying OpenType ligature substitution to the fixed-pitch grid, rendering composite operators as unified symbols without altering the underlying plain text.

Underneath its programmatic machinery lies the solid, legible architecture of Spiekermann and du Carrois’s humanist gothic. Monospaced designs are inherently prone to awkward gaps around narrow letters like i and l, and cramped congestion inside wide forms like m and w. Fira Code inherits well-balanced optical compromises that keep counters open and strokes evenly distributed. Prokopov made targeted adjustments for technical scrutiny: the zero is clearly distinguished from the capital O via an interior dot or slash, the lowercase l curves away from the numeral 1 and uppercase I, and punctuation marks—brackets, parentheses, colons—are enlarged and optically centered to maintain clear hierarchy at the small point sizes typical of programming environments. Along the grid, it sets an orderly, dependable cadence that eases visual fatigue across dense files and terminal output.

The technical core of Fira Code is its extensive implementation of contextual alternates (calt). Sequences of two or more characters are visually merged into smooth arrows, aligned equality signs, and clean comparison brackets, transforming awkward ASCII approximations into cohesive, legible glyphs. Crucially, this behavior remains non-destructive: copying or compiling the text preserves the original character sequence intact. Over successive releases, Prokopov and the open-source community expanded the project into a continuous variable weight axis (spanning Light to Bold), accompanied by numerous OpenType stylistic sets that allow developers to tailor specific glyphs—such as alternate zeroes, ampersands, or script forms—to personal taste.

Fira Code’s domain is precise. Its rigid, monospaced pitch and specialized programming ligatures make it unsuitable for continuous literary prose or conventional display headlines. Instead, it thrives in code editors, command-line interfaces, technical documentation, and tabular data tables—environments where strict alignment and unambiguous character recognition are paramount. Within the open commons, it serves as an inventive application of OpenType technology, showing how typographic conventions can evolve to clarify the specialized language of software design.

Words

Questography

difficult waffles

Havana Plywood

Château d’Yquem

Högertrafikomläggningen

hamburgevontpids

Headlines

Light · 300

Brawny gods just flocked up to quiz and vex him

Regular · 400

Amazingly few discotheques provide jukeboxes

Medium · 500

Why shouldn’t a quixotic Kazakh vampire jog barefoot?

Bold · 700

Grumpy wizards make a toxic brew for the jovial queen

Paragraphs

With matted beard, and swathed in a bristling shark-skin apron, about mid-day, Perth was standing between his forge and anvil, the latter placed upon an iron-wood log, with one hand holding a pike-head in the coals, and with the other at his forge’s lungs, when Captain Ahab came along, carrying in his hand a small rusty-looking leathern bag. While yet a little distance from the forge, moody Ahab paused; till at last, Perth, withdrawing his iron from the fire, began hammering it upon the anvil—the red mass sending off the sparks in thick hovering flights, some of which flew close to Ahab. “Are these thy Mother Carey’s chickens, Perth? they are always flying in thy wake; birds of good omen, too, but not to all;—look here, they burn; but thou—thou liv’st among them without a scorch.” “Because I am scorched all over, Captain Ahab,” answered Perth, resting for a moment on his hammer; “I am past scorching; not easily can’st thou scorch a scar.” “Well, well; no more. Thy shrunk voice sounds too calmly, sanely woeful to me. In no Paradise myself, I am impatient of all misery in others that is not mad. Thou should’st go mad, blacksmith; say, why dost thou not go mad? How can’st thou endure without being mad? Do the heavens yet hate thee, that thou can’st not go mad?—What wert thou making there?”

With matted beard, and swathed in a bristling shark-skin apron, about mid-day, Perth was standing between his forge and anvil, the latter placed upon an iron-wood log, with one hand holding a pike-head in the coals, and with the other at his forge’s lungs, when Captain Ahab came along, carrying in his hand a small rusty-looking leathern bag. While yet a little distance from the forge, moody Ahab paused; till at last, Perth, withdrawing his iron from the fire, began hammering it upon the anvil—the red mass sending off the sparks in thick hovering flights, some of which flew close to Ahab. “Are these thy Mother Carey’s chickens, Perth? they are always flying in thy wake; birds of good omen, too, but not to all;—look here, they burn; but thou—thou liv’st among them without a scorch.” “Because I am scorched all over, Captain Ahab,” answered Perth, resting for a moment on his hammer; “I am past scorching; not easily can’st thou scorch a scar.” “Well, well; no more. Thy shrunk voice sounds too calmly, sanely woeful to me. In no Paradise myself, I am impatient of all misery in others that is not mad. Thou should’st go mad, blacksmith; say, why dost thou not go mad? How can’st thou endure without being mad? Do the heavens yet hate thee, that thou can’st not go mad?—What wert thou making there?”

With matted beard, and swathed in a bristling shark-skin apron, about mid-day, Perth was standing between his forge and anvil, the latter placed upon an iron-wood log, with one hand holding a pike-head in the coals, and with the other at his forge’s lungs, when Captain Ahab came along, carrying in his hand a small rusty-looking leathern bag. While yet a little distance from the forge, moody Ahab paused; till at last, Perth, withdrawing his iron from the fire, began hammering it upon the anvil—the red mass sending off the sparks in thick hovering flights, some of which flew close to Ahab. “Are these thy Mother Carey’s chickens, Perth? they are always flying in thy wake; birds of good omen, too, but not to all;—look here, they burn; but thou—thou liv’st among them without a scorch.” “Because I am scorched all over, Captain Ahab,” answered Perth, resting for a moment on his hammer; “I am past scorching; not easily can’st thou scorch a scar.” “Well, well; no more. Thy shrunk voice sounds too calmly, sanely woeful to me. In no Paradise myself, I am impatient of all misery in others that is not mad. Thou should’st go mad, blacksmith; say, why dost thou not go mad? How can’st thou endure without being mad? Do the heavens yet hate thee, that thou can’st not go mad?—What wert thou making there?”

Stylistic sets
Size128
Weight400

Contextual Alternates

font-feature-settings: 'calt';

->->
<-<-
=>=>
!=!=
====
12:3412:34

Figures

1234567890

Tabular Lining (default)

1234567890

Tabular Oldstyle: 'onum'

1/2 3/4

Fractions: 'frac'

0

Slashed Zero: 'zero'

H123

Numerators: 'numr'

H123

Denominators: 'dnom'

H123

Subscripts: 'subs'

H123

Scientific Inferiors: 'sinf'

H123

Superscripts: 'sups'

Ordinals

font-feature-settings: 'ordn';

3a3a
4o4o
No.No.

Stylistic Sets

font-feature-settings: 'ss--';

rr

'ss01'

<=<=

'ss02'

&&&&

'ss03'

$$

'ss04'

@@

'ss05'

\\\\

'ss06'

!=!=

'ss08'

fifi

'ss10'

Character Variants

font-feature-settings: 'cv--';

aa

'cv01'

gg

'cv02'

ii

'cv03'

ll

'cv07'

00

'cv11'

33

'cv14'

>=>=

'cv23'

Case Sensitive Forms

font-feature-settings: 'case';

()-[()-[
]`{}]`{}

Loading glyphs…

Glyph name
Not available
Unicode
Not encoded
HTML code
Not available
CSS code
Not available