Mozilla's new typeface, used in Firefox OS

  • By Mozilla
  • Last update: Nov 21, 2022
  • Comments: 14

Mozilla's Fira Type Family

Download Fira

Latest Release
All Releases

Fira Roadmap

See the Fira Road Map for further information on upcoming releases. Please add your comments or questions within the document.

How to Contribute to Fira

If you're interested in contributing, see our Fira Contribution Documentation. Please add your comments or questions within the document.


Use this font on your website!

<link rel="stylesheet" href="">

External Resources

Further information on the design and specifications of the Fira typeface can be found at Carrois Studio.
Fira can also be found in these foundries:
1001 Fonts
Adobe Typekit
Google Fonts
Font Squirrel



  • 1

    Access-Control-Allow-Origin bug loading via

    All the fonts files seem to load fine except sometimes UltraLight and ExtraBold via HTTPS which seems to be missing Access-Control-Allow-Origin: '*'

    the links that seem problematic are the following 3 fonts:

  • 2

    Cannot select Fira Mono as monospaced font under KDE

    I am running KDE on OpenSuSE 13.1. Within almost any font chooser dialog, I cannot select Fira Mono (TTF Version 3.111) as a monospaced font, although the font is installed and selectable in LibreOffice, for instance.

    I've played around with fontforge a bit. It doesn't complain about having different advances or something. It does however complain about erroneous minima/maxima.

    Is there any workaround that enables me to select that font?

  • 3

    Umlaut glitch in latest Fira Sans (4.1)

    Hi there, I have a problem displaying Umlaute, namely the capital letters Ö, Ä und Ü with Fira, see here: The word Öffentlichkeitsarbeit has misplaced dots before the Ö (latest Firefox on Mac). Tried finding an error with text encoding, but hat does not seem to be the case. Any ideas? Didn't notice that one before. Beautiful font, by the way!!! Cheers, -f

  • 4

    Colons don't work

    Just noticed this while using the font but colons are rendered as periods. Seems to be the case on the type tester at as well.

    screen shot 2015-04-30 at 11 56 29 am screen shot 2015-04-30 at 11 59 20 am

  • 5

    Lower line height in FiraMono?

    I know it's a not big deal, but I would really like a smaller line height, maybe there's a workaround to do it locally?

    Here's a comparison using Fira vs Meslo, both at 9px.

    license txt -code-fonts-powerline-fonts-firamono - vim_015 license txt -code-fonts-powerline-fonts-firamono - vim_014

    As you can see, Meslo have around 6 lines more.

  • 6

    FiraSans 3.108 - glyphs with negative advance widths

    In the 3.108 fonts, there are seven glyphs in each face that have negative advance widths in the 'hmtx' table:

    FiraSans-BoldItalic.ttx: [mtx name="null" width="-10" lsb="0"/] FiraSans-BoldItalic.ttx: [mtx name="uni200C" width="-10" lsb="-72"/] FiraSans-BoldItalic.ttx: [mtx name="uni200D" width="-10" lsb="-72"/] FiraSans-BoldItalic.ttx: [mtx name="uni200E" width="-10" lsb="-71"/] FiraSans-BoldItalic.ttx: [mtx name="uni200F" width="-10" lsb="-73"/] FiraSans-BoldItalic.ttx: [mtx name="uniFEFF" width="-10" lsb="0"/] FiraSans-BoldItalic.ttx: [mtx name="zerowidthspace" width="-10" lsb="0"/] FiraSans-BookItalic.ttx: [mtx name="null" width="-5" lsb="0"/] FiraSans-BookItalic.ttx: [mtx name="uni200C" width="-5" lsb="-69"/] FiraSans-BookItalic.ttx: [mtx name="uni200D" width="-5" lsb="-69"/] FiraSans-BookItalic.ttx: [mtx name="uni200E" width="-5" lsb="-68"/] FiraSans-BookItalic.ttx: [mtx name="uni200F" width="-5" lsb="-70"/] FiraSans-BookItalic.ttx: [mtx name="uniFEFF" width="-5" lsb="0"/] FiraSans-BookItalic.ttx: [mtx name="zerowidthspace" width="-5" lsb="0"/] FiraSans-ExtraBoldItalic.ttx: [mtx name="null" width="-11" lsb="0"/] FiraSans-ExtraBoldItalic.ttx: [mtx name="uni200C" width="-11" lsb="-73"/] FiraSans-ExtraBoldItalic.ttx: [mtx name="uni200D" width="-11" lsb="-73"/] FiraSans-ExtraBoldItalic.ttx: [mtx name="uni200E" width="-11" lsb="-72"/] FiraSans-ExtraBoldItalic.ttx: [mtx name="uni200F" width="-11" lsb="-74"/] FiraSans-ExtraBoldItalic.ttx: [mtx name="uniFEFF" width="-11" lsb="0"/] FiraSans-ExtraBoldItalic.ttx: [mtx name="zerowidthspace" width="-11" lsb="0"/] FiraSans-ExtraLightItalic.ttx: [mtx name="null" width="-2" lsb="0"/] FiraSans-ExtraLightItalic.ttx: [mtx name="uni200C" width="-2" lsb="-67"/] FiraSans-ExtraLightItalic.ttx: [mtx name="uni200D" width="-2" lsb="-67"/] FiraSans-ExtraLightItalic.ttx: [mtx name="uni200E" width="-2" lsb="-67"/] FiraSans-ExtraLightItalic.ttx: [mtx name="uni200F" width="-2" lsb="-68"/] FiraSans-ExtraLightItalic.ttx: [mtx name="uniFEFF" width="-2" lsb="0"/] FiraSans-ExtraLightItalic.ttx: [mtx name="zerowidthspace" width="-2" lsb="0"/] FiraSans-HeavyItalic.ttx: [mtx name="null" width="-12" lsb="0"/] FiraSans-HeavyItalic.ttx: [mtx name="uni200C" width="-12" lsb="-73"/] FiraSans-HeavyItalic.ttx: [mtx name="uni200D" width="-12" lsb="-73"/] FiraSans-HeavyItalic.ttx: [mtx name="uni200E" width="-12" lsb="-72"/] FiraSans-HeavyItalic.ttx: [mtx name="uni200F" width="-12" lsb="-74"/] FiraSans-HeavyItalic.ttx: [mtx name="uniFEFF" width="-12" lsb="0"/] FiraSans-HeavyItalic.ttx: [mtx name="zerowidthspace" width="-12" lsb="0"/] FiraSans-Italic.ttx: [mtx name="null" width="-6" lsb="0"/] FiraSans-Italic.ttx: [mtx name="uni200C" width="-6" lsb="-69"/] FiraSans-Italic.ttx: [mtx name="uni200D" width="-6" lsb="-69"/] FiraSans-Italic.ttx: [mtx name="uni200E" width="-6" lsb="-68"/] FiraSans-Italic.ttx: [mtx name="uni200F" width="-6" lsb="-70"/] FiraSans-Italic.ttx: [mtx name="uniFEFF" width="-6" lsb="0"/] FiraSans-Italic.ttx: [mtx name="zerowidthspace" width="-6" lsb="0"/] FiraSans-LightItalic.ttx: [mtx name="null" width="-3" lsb="0"/] FiraSans-LightItalic.ttx: [mtx name="uni200C" width="-3" lsb="-68"/] FiraSans-LightItalic.ttx: [mtx name="uni200D" width="-3" lsb="-68"/] FiraSans-LightItalic.ttx: [mtx name="uni200E" width="-3" lsb="-67"/] FiraSans-LightItalic.ttx: [mtx name="uni200F" width="-3" lsb="-68"/] FiraSans-LightItalic.ttx: [mtx name="uniFEFF" width="-3" lsb="0"/] FiraSans-LightItalic.ttx: [mtx name="zerowidthspace" width="-3" lsb="0"/] FiraSans-MediumItalic.ttx: [mtx name="null" width="-8" lsb="0"/] FiraSans-MediumItalic.ttx: [mtx name="uni200C" width="-8" lsb="-71"/] FiraSans-MediumItalic.ttx: [mtx name="uni200D" width="-8" lsb="-71"/] FiraSans-MediumItalic.ttx: [mtx name="uni200E" width="-8" lsb="-70"/] FiraSans-MediumItalic.ttx: [mtx name="uni200F" width="-8" lsb="-72"/] FiraSans-MediumItalic.ttx: [mtx name="uniFEFF" width="-8" lsb="0"/] FiraSans-MediumItalic.ttx: [mtx name="zerowidthspace" width="-8" lsb="0"/] FiraSans-SemiBoldItalic.ttx: [mtx name="null" width="-9" lsb="0"/] FiraSans-SemiBoldItalic.ttx: [mtx name="uni200C" width="-9" lsb="-71"/] FiraSans-SemiBoldItalic.ttx: [mtx name="uni200D" width="-9" lsb="-71"/] FiraSans-SemiBoldItalic.ttx: [mtx name="uni200E" width="-9" lsb="-70"/] FiraSans-SemiBoldItalic.ttx: [mtx name="uni200F" width="-9" lsb="-72"/] FiraSans-SemiBoldItalic.ttx: [mtx name="uniFEFF" width="-9" lsb="0"/] FiraSans-SemiBoldItalic.ttx: [mtx name="zerowidthspace" width="-9" lsb="0"/] FiraSans-UltraItalic.ttx: [mtx name="null" width="-13" lsb="0"/] FiraSans-UltraItalic.ttx: [mtx name="uni200C" width="-13" lsb="-74"/] FiraSans-UltraItalic.ttx: [mtx name="uni200D" width="-13" lsb="-74"/] FiraSans-UltraItalic.ttx: [mtx name="uni200E" width="-13" lsb="-73"/] FiraSans-UltraItalic.ttx: [mtx name="uni200F" width="-13" lsb="-75"/] FiraSans-UltraItalic.ttx: [mtx name="uniFEFF" width="-13" lsb="0"/] FiraSans-UltraItalic.ttx: [mtx name="zerowidthspace" width="-13" lsb="0"/]

    These should all be zero-width, I presume.

  • 7

    CDN does not have expiry date

    We were going to use the Mozilla CDN for Fira on our website, but we're seeing significant page load time hits because it doesn't seem to be cached.

    Here's the URL:

    Checking the headers shows no expiry date.

  • 8

    Toolset to build Fira from sources


    I wanted to add couple of ligatures to Fira Mono similar to what Hasklig does to Source Code Pro, for personal use.

    I’m trying to build Fira Mono from sources but am completely lost. Can you describe what tools I need and short step-by-step explanation what to run in which order?

    I’ve tried:

    • opening Fira Mono-Regular.otf OTF version in FontLab studio but on save it cannot compile OTF features.
    • running makeotf -f Fira\ Mono-Regular.ufo from AFDKO but it crashes.

    I’m a total newbie with modern font editing and I just want to add couple of glyphs and ligature feature. Can you help me with this? (preferably without buying which is kinda expensive for 1-time personal usage)

    Thanks! (great font btw, use it everyday for code editing & in terminal)

  • 9

    Shifted double quotes using WOFF file

    Using the WOFF version double quotes are displayed shifted (Firefox and Chrome on Ubuntu):


    While using the OTF version I don't have this problem. I can reproduce it using this CSS

    @font-face {
      font-family: 'Fira Sans';
      src: url('woff/FiraSans-Regular.woff');
      font-weight: 400;
      font-style: normal;

    with this font file; if you want I can do a demo page.

  • 10

    Too much space between f and u

    Please check the kerning between f and u. In the version 3.111;PS 003.111;hotconv 1.0.70;makeotf.lib2.5.58329 (all weights as I can see) there are 30 upm added, while between f and n/m no extra space is added. In some text sizes this gives the impression that there’s a space after the f, see attachment. fu-lucke

  • 11

    Wrong acute position above some Cyrillic letters

    Acutes above Cyrillic letters Ю (Yu, U+042E, U+044E) and Я (Ya, U+042F, U+044F) placed incorrectly. Acutes should be moved to left and upper for capital letters.

    It is distincltly even in large font sizes:


    In small font sizes acute moves to next letter:


    P. S. First screenshot grabbed from Inkscape, second one grabbed from Google Chrome.
    See also sample of text with acutes — it contains words Митя́ев (Fira Sans Bold) and Батю́кина (Fira Sans Regular).

  • 12

    Small letter j isn’t soft-dotted, and combining acute doesn’t behave normally. This messes up the ij-acute.

    The ij-acute, which is used in Dutch, looks terrible in Fira Sans, because the dot on the j should be replaced by the combining acute that comes after it. Currently, this is not the case; instead, you get this:


    As an example, the font Livvic does handle it correctly:


    The version I use is Fira 4.202.

  • 13

    Regular Fira Sans has visual issues on Firefox on Linux

    I wanted to use Fira Sans for my general system font and it looked quite fantastic in every aspect except below situation. When Firefox gives me a message about any kind of failure, the title looks like this: Screenshot_20210714_143540 I tried other fonts like Noto Sans and there was no problem at all: Screenshot_20210714_143704

    I don't know if it's just me or this is a popular issue. I thought notifying you from existence of such thing can be my only move here. Thanks in advance.

    Here is my specs: Arch Linux (Kernel 5.12.14) DE: KDE Plasma 5.22.3 WM: KWin Graphic Platform: X11

    P.S. I installed this font with pacman package manager from the community repository package: ttf-fira-sans

  • 14

    Strange ligature - #& becomes stylised et

    Screenshot of the error

    I'm trying to understand why this ligature exists. It occasionally shows up in URL bars in Firefox.