Fira Code
Type with Purpose
Good typography guides attention, improves understanding, and makes communication effortless.
The Anatomy of a Typeface
By FontSide · June 2026
Every typeface is a system of decisions — about stroke contrast, x-height, spacing, and rhythm. The best ones feel invisible: you stop seeing the letters and start hearing the voice behind them. That transparency is the hardest thing to design.
A high x-height opens up the counters and makes small text breathe. Tight tracking pulls a headline together; loose tracking gives a caption room to exhale. None of these choices are accidents — they are arguments about how reading should feel.
Uppercase
Lowercase
Numerals
Symbols
Package Manager
The recommended way to use fonts in modern web projects.
1. Install Package
pnpm add @fontsource-variable/fira-code 2. Import in App
import '@fontsource-variable/fira-code/wght.css'; 3. CSS Usage
body {
font-family: "Fira Code Variable", monospace;
} Google Fonts CDN
Use Google's CDN to embed the fonts directly via HTML.
HTML <head>
<!-- Please select at least one weight and style --> Fontsource CDN
Skip the build step by adding this directly to your global CSS file.
Global CSS
/* fira-code-latin-wght-normal */
@font-face {
font-family: "Fira Code Variable";
font-style: normal;
font-display: swap;
font-weight: 100 900;
src: url(https://cdn.jsdelivr.net/fontsource/fonts/fira-code:vf@latest/latin-wght-normal.woff2)
format("woff2-variations");
} Background & Story
Programmers use a lot of symbols, often encoded with several characters. For the human brain, sequences like
->, <= or := are single logical tokens, even if they take two or three
characters on the screen. Your eye spends a non-zero amount of energy to scan, parse and join multiple characters
into a single logical one. Ideally, all programming languages should be designed with full-fledged Unicode symbols
for operators, but that’s not the case yet.
Fira Code is an extension of the Fira Mono font containing a set of ligatures for common programming multi-character
combinations. This is just a font rendering feature: underlying code remains ASCII-compatible. This helps to read
and understand code faster. For some frequent sequences like .. or //, ligatures allow us
to correct spacing.
To contribute, see https://github.com/tonsky/FiraCode.
Tags & Moods
Subsets
Install
pnpm add @fontsource-variable/fira-code Designed by
The Mozilla Foundation, Telefonica S.A., Nikita Prokopov
Links
License
OFL-1.1