NerdFonts
May 20, 2026 ยท View on GitHub
This is a PowerShell module for installing NerdFonts on your system. This module and repository does not contain the fonts themselves, but rather a way to install them on your system.
๐ Kudos to owner of NerdFonts, @ryanoasis and the rest of the NerdFonts community! ๐ For any issues with the fonts themselves, please refer to the NerdFonts repository. All donations on this repository will go to the NerdFonts project.
Prerequisites
- This module is cross-platform and supports the latest LTS version of PowerShell on Windows, Linux, and macOS. This is not to be confused with Windows PowerShell. Install PowerShell by following the official installation guide.
- This module depends on the Fonts module to manage fonts on the system. This will be installed automatically when installing the module.
Installation
To install the module simply run the following command in a PowerShell terminal.
Install-PSResource -Name NerdFonts
Import-Module -Name NerdFonts
Usage
Install a NerdFont
To install a NerdFont on the system you can use the following command.
Install-NerdFont -Name 'FiraCode' # Tab completion works on name
To download the font from the NerdFonts repository and install it on the system, run the following command.
Install-NerdFont -Name 'FiraCode' -Scope AllUsers #Tab completion works on Scope too
To install only a specific variant from the archive, use the -Variant parameter. Mono is useful for terminal and editor setups where you only want the monospace family.
Install-NerdFont -Name 'FiraCode' -Variant Mono
Install all NerdFonts
To install all NerdFonts on the system you can use the following command.
This will download and install all NerdFonts to the current user.
Install-NerdFont -All
To install all NerdFonts on the system for all users, run the following command. This requires the shell to run in an elevated context (sudo or run as administrator).
Install-NerdFont -All -Scope AllUsers
You can combine -All with -Variant to limit what gets installed from each archive:
Install-NerdFont -All -Variant Mono
Check if a NerdFont is installed
The Fonts module is installed automatically as a dependency and provides the
Get-Font command for querying installed fonts on the system.
To check if a specific NerdFont is installed for the current user:
Get-Font -Name 'FiraCode*'
To check across all users on the system:
Get-Font -Name 'FiraCode*' -Scope AllUsers
If the command returns results, the font is installed. If it returns nothing, the font is not installed in that scope.
When you run Install-NerdFont again without -Force, fonts that are already installed in the requested scope are skipped. Downloaded archives are also cached per Nerd Fonts release so retries and repeated installs do not need to fetch the same ZIP again.
Cache locations:
- Windows:
%LOCALAPPDATA%/PSModule/NerdFonts/cache - macOS and Linux:
$HOME/.cache/PSModule/NerdFonts
You can inspect the active cache path in PowerShell with:
if ($IsWindows) {
Join-Path ([Environment]::GetFolderPath('LocalApplicationData')) 'PSModule/NerdFonts/cache'
} else {
Join-Path $HOME '.cache/PSModule/NerdFonts'
}
Update an installed NerdFont
Individual font files do not embed a NerdFonts release version, so there is no direct way to check whether an installed
NerdFont is outdated. To ensure you have the version bundled with the module, reinstall the font using the -Force parameter:
Install-NerdFont -Name 'FiraCode' -Force
If the font was originally installed for all users, update it with the matching scope (requires elevated privileges):
Install-NerdFont -Name 'FiraCode' -Force -Scope AllUsers
This re-downloads and installs the font version bundled with your installed NerdFonts module, overwriting any existing
files. -Force also bypasses the local archive cache so the font ZIP is fetched again before reinstalling. To pick up newer font releases, update the NerdFonts module first (Update-PSResource -Name NerdFonts if you
installed via PSResourceGet, or Update-Module -Name NerdFonts if you installed via PowerShellGet).
Uninstall a NerdFont
To uninstall a NerdFont, use the Uninstall-Font command
from the Fonts module (installed automatically as a dependency).
To uninstall a NerdFont from the current user:
Uninstall-Font -Name 'FiraCode*' # Tab completion works on name
To uninstall a NerdFont for all users (requires elevated privileges):
Uninstall-Font -Name 'FiraCode*' -Scope AllUsers
Contributing
Coder or not, you can contribute to the project! We welcome all contributions.
For Users
If you don't code, you still sit on valuable information that can make this project even better. If you experience that the product does unexpected things, throw errors or is missing functionality, you can help by submitting bugs and feature requests. Please see the issues tab on this project and submit a new issue that matches your needs.
For Developers
If you do code, we'd love to have your contributions. Please read the Contribution guidelines for more information. You can either help by picking up an existing issue or submit a new one if you have an idea for a new feature or improvement.