Fira Code
Fira Code is Nikita Prokopov's extension of Mozilla's Fira Mono, and the addition is a set of programming ligatures: character pairs a compiler reads separately but the font draws as one shape, so an arrow typed as two keystrokes looks like an arrow. Nothing about the file you save changes — the code stays plain ASCII and the joined shape is only what you see. It inherits Fira Mono's humanist proportions, which is why it stays readable in a dense editor at 13px where a stricter geometric mono would not.
Alphabets
- Latin
- Latin Extendedaccented characters for most European languages
- Turkishincluding ı, İ, ğ, ş and the rest
- Cyrillic
- Cyrillic Extended
- Greek
- Greek Extended
Weight — 400
Specification
- Designer
- Foundry
- Released
- Category
- License
- Commercial use
- Good for
- Weights
- Styles
- Variable
- Glyphs
- Languages
- Download size
- Source
Size ladder
Sphinx of black quartz, judge my vow
Sphinx of black quartz, judge my vow
Sphinx of black quartz, judge my vow
Sphinx of black quartz, judge my vow
Sphinx of black quartz, judge my vow
Sphinx of black quartz, judge my vow
Characters
Uppercase
- A
- B
- C
- D
- E
- F
- G
- H
- I
- J
- K
- L
- M
- N
- O
- P
- Q
- R
- S
- T
- U
- V
- W
- X
- Y
- Z
Lowercase
- a
- b
- c
- d
- e
- f
- g
- h
- i
- j
- k
- l
- m
- n
- o
- p
- q
- r
- s
- t
- u
- v
- w
- x
- y
- z
Numerals
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
Punctuation & symbols
- .
- ,
- :
- ;
- !
- ?
- '
- "
- ‘
- ’
- “
- ”
- (
- )
- [
- ]
- {
- }
- /
- \
- |
- -
- –
- —
- _
- @
- #
- $
- %
- &
- *
- +
- =
- <
- >
- ~
- ^
- `
- €
- £
- ¥
- ©
- ®
- °
- §
- †
- •
- …
Use it on the web
@font-face {
font-family: 'Fira Code';
/* The download contains .ttf files. Put yours wherever you serve static
files from and point this at it. Converting to .woff2 first cuts the
size by roughly 60% and every current browser supports it. */
src: url('/fonts/fira-code.woff2') format('woff2');
font-weight: 300 700;
font-style: normal;
font-display: swap;
}
body {
font-family: 'Fira Code', monospace;
}License
OFL-1.1
You may use, modify and redistribute this font, including in commercial work. You may not sell the font file on its own, and any modified version must be released under the same license and under a different name.
Commercial use allowed
Questions
- Is Fira Code free for commercial use?
- Yes. Fira Code is released under the SIL Open Font License 1.1, which allows commercial use with no fee and no attribution requirement. You can use it in client work, in products you sell, on the web and in print. The one thing you may not do is sell the font file on its own. The licence is inside the download.
- Can I use Fira Code in a logo?
- Yes. The licence covers the font software, not the artwork you make with it, so a logo set in Fira Code belongs to you — including if you later register it as a trademark. You do not need permission and you do not owe anything to The Mozilla Foundation, Telefonica S.A., Nikita Prokopov. What the licence stops you doing is redistributing the font file itself as a product.
- How do I install Fira Code?
- Download the zip and unzip it. On a Mac, select the 1 font file inside and open them, then press Install Font. On Windows, select them, right-click and choose Install. Restart any application that was already open before it will show up. Fira Code is a variable font: the single file carries all 5 weights at once. Some older software — Word, Canva, and Photoshop before 2018 — only reads the first weight and will show it as Regular. If that happens, use the Static download on this page instead: it has 5 ordinary files, one per weight, and works everywhere.
- Does Fira Code support Turkish?
- Yes. Fira Code includes the characters Turkish needs that plain Latin does not — the dotless ı, the dotted İ, and ğ, ş, ü, ö and ç in both cases. This was checked against the font file itself, not assumed from the fact that it covers Latin.
- Does Fira Code support Latin, Latin Extended, Turkish, Cyrillic, Cyrillic Extended, Greek and Greek Extended?
- Yes. Fira Code covers Latin, Latin Extended, Turkish, Cyrillic, Cyrillic Extended, Greek and Greek Extended, across 1,857 glyphs. Anything outside those alphabets is not included — the character map further up this page shows exactly what you get.
- What are programming ligatures, and do I have to switch them on?
- A ligature is one glyph standing in for several characters. Fira Code adds a set of them for the combinations that appear constantly in code: the two keystrokes of an arrow are drawn as a single arrow, the not-equals pair becomes one crossed-out equals sign, three dots become an evenly spaced ellipsis. Nothing about your file changes — what is saved to disk is exactly what you typed, and a compiler, or another person opening the file, sees ordinary ASCII. In editors that support ligatures at all they are usually on by default, and they are the reason almost everybody downloads this font. You can watch it happen on this page: type an exclamation mark followed by an equals sign into the specimen box above and the two characters join into a single crossed-out equals as you type.
- Why are the ligatures not showing up in my editor?
- Because the editor is not asking for them. Ligatures are an OpenType feature and an application has to switch it on for the text it draws. VS Code needs editor.fontLigatures set to true in its settings; JetBrains editors have an "Enable font ligatures" checkbox under Font; iTerm2, Kitty, WezTerm and Alacritty each have their own setting, and some terminals do not support them at all. Notepad, most plain text boxes and many older terminals will never show them. The font is not broken when this happens — you simply get an ordinary monospace without the joined shapes.