All fonts are missing on Windows 10

A few people have mentioned having problems in which all the fonts on their system seem to be broken, and the user interface is displaying with strange symbols. I think I understand what's going on in these cases and how it can be fixed.


The user interface displays all text with strange symbols, and font lists (e.g. the Fonts control panel) don't show any TrueType or OpenType fonts.

Here's a screenshot from one user report that illustrates the user interface symptoms:

(Pretty busted, eh!)


The root cause is a code change in GDI that interacts with certain font files. We're investigating the fix to GDI.

But there's a detail related to specific font files that also causes this, and that's something users may be able to do something about. Specifically, certain TrueType Collection font files (.ttc) can create overly-long registry entries when installed; in particular, this can happen if the TTC file contains a large number of fonts. I was able to reproduce this issue by installing a TTC file that has 12 fonts. GDI is unable to process these overly-long registry entries. 

There are steps you can take to detect and uninstall these fonts, described below.

How you can investigate

If you have these symptoms then here's something you can investigate to see if this is your issue.

First, launch a console ("Command Prompt") window. Even though you can't easily navigate the user interface because of the issue, you can launch a console from the keyboard by pressing Windows key + R, which opens the Run dialog, enter "cmd.exe" (without the quotation marks), and press enter.

When the console window opens, it may display with a small font. If you remember the layout of the console properties dialog, you may be able to figure out how to change the font size. (In the list of sizes, the larger sizes are lower in the list.) Otherwise, hopefully the text is still large enough for you to read.

In the console window, run this command --- this will retrieve some information from the registry but will not change anything:

reg query "hklm\software\microsoft\windows nt\currentversion\fonts"

You should see a number of lines displayed; these are all registry entries associated with different installed fonts. The report for each entry has three values: the name, the entry type, and the value. The entry type for all of these entries should be "REG_SZ"; the entry name is everything that precedes that in the line (excluding the trailing spaces). Look for an entry with a really long name.

Here's an example from the system on which I was able to reproduce this issue — in this case, I knew what font I was looking for, and so used a slightly different command that retrieved just the one entry:

In this example, the name portion of the entry is this (without the quotation marks):

"Avenir Next Bold & Avenir Next Bold Italic & Avenir Next Demi Bold & Avenir Next Demi Bold Italic & Avenir Next Italic & Avenir Next Medium & Avenir Next Medium Italic & Avenir Next Regular & Avenir Next Heavy & Avenir Next Heavy Italic & AvenirNext-Ultraligh"

Most entries won't be anywhere near this long. Notice that the end of the name portion is truncated — the token "UltraLight" is missing the last character. This kind of truncation is a good indicator that the name is too long.

If you find a long entry like that, then that is a likely cause of your symptoms.

How to fix (for advanced users)

A fairly quick way to fix the issue is to delete the overly-long registry entry. This will have the effect of uninstalling that font file, but the file itself is not deleted.

Unfortunately, given the state of the system, you won't be able to do this in the registry editor (regedit.exe). Instead, it has be done from a console window. This is a little trickier, and some may not feel comfortable with this.

The basic steps are that you use the reg delete command within an elevated console window. There's a significant risk in this: if you enter the command wrong, you could end up uninstalling all your fonts rather than just the one! That would leave your system in a state that would be harder to recover from doing registry fixes than the current state. The key issue is that you need to correctly specify the specific entry to delete, and not simply the registry key that holds all the entries. You can copy the name for the bad entry from the query result obtained using the steps above.

Because of the risks in this, I'm not going to provide step-by-step instructions. If you're comfortable editing the registry from the console, then you can probably figure out the exact steps to delete the bad entry. If you're not entirely comfortable, then you can look for someone you trust who is able to do this, or you can try doing a system restore.

If you do take this step to delete the entry, then as a safeguard, I recommend that you first export the entire registry key and the entries it contains so that you can restore that later if needed. You can export the key in question using the following command:

reg export "hklm\software\microsoft\windows nt\currentversion\fonts" FontsRegKey.reg


Discussion Info

Last updated December 5, 2019 Views 19,453 Applies to:

* Please try a lower page number.

* Please enter only numbers.

* Please try a lower page number.

* Please enter only numbers.

At first I was happy with your detailed explanation - however when it came to the point "because of the risks" - and then you ended up wasting my time  by not providing step by step instructions - clever you.

I had *exactly* this problem - right down to the problematic font in question - Avenir Next.

As with the commenter above I was delighted, initially, to find what promised to be a fix, only to be denied. I appreciate there are significant risks but it would be FAR more useful to give the information on how to do it along with the warning of the consequences of getting it wrong.

So - here's what I did. IT COULD GO HORRIBLY WRONG FOR YOU etc. etc.

First you need the 'elevated' command prompt with sufficient admin powers to run the registry entry deletion. With my fonts garbled this took a little bit of detective work but...

1. Go to the search box in the Windows taskbar and type cmd

2. At the top of the popup will be the Command Prompt app - right click on this and select the first option - it will be garbled, but it really says "Run as adminstrator"

3. A confirmation popup will ask if you are sure - again, the contents will be garbled but there are two buttons, "Yes" and "No". "Yes" is on the left, and has three characters. Click it.

Now you have the capability, run the query to find the font that is giving you problems, as detailed above.

        reg query "hklm\software\microsoft\windows nt\currentversion\fonts"

You will want to copy and paste the long section of the entry that is causing the problem. You will probably find that you can't select any text in your cmd window. You need to right click and select "Mark" - though the right-click menu is, of course, garbled. "Mark" is the first option at the top of the menu. Click it, highlight the part of the query result that you need i.e.

        Avenir Next Bold & Avenir Next Bold Italic & Avenir Next Demi Bold & Avenir Next Demi Bold Italic & Avenir Next Italic & Avenir Next Medium & Avenir Next Medium Italic & Avenir Next Regular & Avenir Next Heavy & Avenir Next Heavy Italic & AvenirNext-Ultraligh

and click Ctrl-C to copy it to clipboard.

Now the dangerous bit. Don't get this wrong, your font registry could be irretrievably damaged etc.

Start a new command line entry with the reg delete command and paste in the troublesome font value IN QUOTES i.e.

        reg delete "hklm\software\microsoft\windows nt\currentversion\fonts" /v "Avenir Next Bold & Avenir Next Bold Italic & Avenir Next Demi Bold & Avenir Next Demi Bold Italic & Avenir Next Italic & Avenir Next Medium & Avenir Next Medium Italic & Avenir Next Regular & Avenir Next Heavy & Avenir Next Heavy Italic & AvenirNext-UltraLigh"

Pause, take a breath, check that you've typed everything perfectly and the cut and paste has worked correctly. Hit Enter. You will be asked to confirm your instruction with a y/n option. Choose y.

You should get the response "The operation completed successfully". Relax, breathe again, emit a low whoop. You should find that your fonts start working again immediately, as soon as you highlight or even mouseover text. The screen layout will still be a bit glitchy until you reboot though. Cheer, cry, hug your co-workers.

Then quietly curse the font designers and Microsoft for conspiring to create such a problematic glitch.

Thank you so much this fixed my issue immediately.  Appreciate that you added in the step. I was in the middle of a website due in 3 days time. Once again really appreciate the information.
Thank you very much. Using the steps the way you describe it was effective and occurs quite safe to me.

I also had *exactly* this problem - easy solution:

Copy fonts from a other computer to usb.

Install all fonts on your "damaged" computer 

I know you can not read the installation, but you can find the "ok" butten when installing all fonts in one go.

Install all fonts.
Delete Avenir type  > restart


When I go into the fonts registry, I find my "missing" fonts at the end of the list and the entries don't seem overly long. Here's what I copied from the end of the registry list. 

    StoneSansStd-Bold (TrueType)    REG_SZ    Adobe - StoneSansStd-Bold_1.otf
    StoneSansStd-BoldItalic (TrueType)    REG_SZ    Adobe - StoneSansStd-BoldItalic_0.otf
    StoneSansStd-Medium (TrueType)    REG_SZ    Adobe - StoneSansStd-Medium_0.otf
    StoneSansStd-MediumItalic (TrueType)    REG_SZ    Adobe - StoneSansStd-MediumItalic_0.otf
    StoneSansStd-Semibold (TrueType)    REG_SZ    Adobe - StoneSansStd-Semibold_0.otf
    StoneSansStd-SemiboldItalic (TrueType)    REG_SZ    Adobe - StoneSansStd-SemiboldItalic_0.otf
    StoneSerifStd-Medium (TrueType)    REG_SZ    Adobe - StoneSerifStd-Medium_0.otf
    StoneSerifStd-MediumItalic (TrueType)    REG_SZ    Adobe - StoneSerifStd-MediumItalic_0.otf
    StoneSerifStd-Semibold (TrueType)    REG_SZ    Adobe - StoneSerifStd-Semibold_0.otf
    StoneSerifStd-SemiboldIt (TrueType)    REG_SZ    Adobe - StoneSerifStd-SemiboldIt_0.otf

But these fonts still do not show up in the control panel -> personalization -> font list! Nor are they recognized by any of the programs. 

What do I need to do to get these fonts working again? I'm in the middle of a book design project and the whole book is done in Stone Sans and Stone Serif. These fonts were purchased at so are legit fonts. Please help! 

Thank you! 

I experienced the EXACT same problem . . . installed the "Avenir Next" font on my PC yesterday and when I turned it on today, I was greeted with what I'll call the "Wingdings" font.  Your resolution was very clear. Thank you!
You have saved my sanity. Thank you! This fixed my font problem that I thought might never be fixed! :-D Avenir didn't show up when I did the initial search, but when I searched for the specific font (exactly how it showed up for you) in the command prompt (running as an administrator), it showed up in all of its million character glory. That sneaky guy was hiding. THANK YOU!
EricDixonBB You Rock Bro :) Many Thanks!! My case was Avenir Font too.

so that's what i did. it worked well, without doing things "that could go horribly wrong" etc.

1. i've been running the reg query "hklm\software\microsoft\windows nt\currentversion\fonts" command in the  control panel to figure out which font is corrupted. (btw it was the same "Avenir" font)

2. i downloaded these fonts :  (the font typ is called "Roboto")

3. after intalling the fonts blindly, i could at least read enough to navigate to the font settings folder by typing control fonts in the control panel

4. all installed fonts showed up again, i just deleted all the avenir fonts, rebooted and all good

5. F*** you avenir font! I like you, but we have to split up if you turn my computer into  funny hieroglyphics!

* Please try a lower page number.

* Please enter only numbers.

* Please try a lower page number.

* Please enter only numbers.