Similarly to the icon cache, Windows creates a cache for fonts to load them faster and display the user interface of apps, documents and other controls faster. When it is corrupted, fonts may not appear properly, or some fonts might be missing in the font list available for certain apps. In this article, we will see how to rebuild the font cache.
The font cache is a special file in the folder %WinDir%\ServiceProfiles\LocalService\AppData\Local\FontCache. This folder is protected by default so if you directly attempt to access this path, Windows will give you an error. Fonts are cached in a number of files in this folder. If for some reason, your fonts are corrupted and not displaying properly, you may need to remove these files in order to rebuild the font cache. Here is how it can be done.
Before proceeding, ensure that your user account has administrative privileges. Now, follow the instructions below.
To rebuild the font cache in Windows 10, do the following.
- Press Win + R shortcut keys on the keyboard to open the Run dialog. Type services.msc in the Run box.
- The Services console will be opened.
- Find the Windows Font Cache service in the list.
- Click on the stop button on the toolbar.
Tip: See the following detailed guide on how to start, stop or restart a service in Windows 10. - Open This PC in File Explorer.
- Go to the following folder by navigating one folder at a time. Do not copy paste the path directly as certain folders are protected and you may need to press the Continue button to access them:
C:\Windows\ServiceProfiles\LocalService\AppData\Local\FontCache
- Delete the contents of that folder.
- Delete the file %WinDir%\System32\FNTCACHE.DAT.
- Now, you can start the Windows Font Cache service which you previously stopped.
- Restart Windows 10.
Note: If you have stopped the service but still cannot delete the files, here is a workaround.
- Download ExecTI.
- Use ExecTI to run cmd.exe as TrustedInstaller.
- In the command prompt opened as trusted installer, type or copy-paste the following command:
del /A /F /Q "%WinDir%\ServiceProfiles\LocalService\AppData\Local\FontCache\*FontCache*"
This should resolve the issue.
Tip: You can use the following command to stop and start the Windows Font Cache service.
net stop FontCache net start FontCache
On Windows 7 and Windows 8.1, the Font Cache files are located directly in the following folder:
%Windir%\ServiceProfiles\LocalService\AppData\Local
There is no separate FontCache directory like Windows 10. In this case, be careful to not delete the other folders. Delete only the *.DAT files related to the font cache.
Note: If your fonts are still corrupted and displaying invalid characters after resetting the cache, the installed fonts in C:\Windows\Fonts themselves may be damaged. To restore the default fonts that ship with Windows, run the following command from an elevated command prompt:
sfc /scannow
Let Windows restore the original font files. If the font files in your Component Store are corrupted, refer to the following article to learn how to use DISM to repair them: How to Fix Windows 10 using DISM
Support us
Winaero greatly relies on your support. You can help the site keep bringing you interesting and useful content and software by using these options:
Hi Sergey,
I have profited many time from your advice – but here the solution did not work for me. Instead I followed procedure in http://www.thewindowsclub.com/rebuild-font-cache-in-windows where another file is deleted and another service stopped. Since the cache seems to be in use even when the services are stopped (by applications like shell) I ended up doing this offline (from WinPE) – and restored thefiles I deleted from a shadow copy to get a flying start.
Regards, Martin
Thankss for sharing
Hi all…
Here is a simple solution to reset the fonts cache for any system.
Notepad:
1: Create a file named e.g. Fonts_Cache_Location.txt to copy the path of the cache related to your OS.
2: Open a new file and paste the following content:
@echo off & cls
Net stop fontcache 2>1>nul
Taskkill /im explorer.exe /f 1>nul
Del fntcache.dat 2>1>nul
Set /p Location=<Fonts_Cache_Location.txt
Del /f /q /a %Location%\*FontCache*
Shutdown.exe /r /c "The Computer will restart within 10 seconds" /t 10
Cls & exit
Name it e.g. Reset_Fonts_Cache.bat. Copy both files in the system32 folder.
Run the the batch file: done in one click! Note that the behaviour is a bit… surprising, but don't worry: it works prefectly well.
P.S. : To view the new files, first open Command Prompt as admin and type dir /s fntcache.dat; next copy/paste your fonts cache location to the run command in Start and click OK.
You will be able to control the new sizes, date and time of all the new files.
Kind Regards,
B.B.
Edit:
The /s switch is required only if the dir command is run from the root of your OS (search all subdirectories).
A /a switch may be added if for some (unknown) reason, the fntcache.dat file should not be visible as having its h and/or s attributes set.
And perfectly instead of prefectly… :-)
B.B.
Thanks a ton!