How to Install Fonts on Windows, macOS, Linux and the Web
A step-by-step guide to installing fonts on Windows, macOS and Linux, plus how to load custom fonts on a website with the CSS @font-face rule.
Before you install: unzip and check the format
Most fonts you download arrive in a compressed .zip archive. Extract it first — your operating system cannot read a font that is still inside a zip file. After unzipping you will usually see one or more files ending in .ttf (TrueType), .otf (OpenType) or, for web use, .woff and .woff2. TrueType and OpenType are the formats your desktop needs; WOFF and WOFF2 are compressed web formats that browsers load over the network.
A single download often contains several files, one for each weight or style — Regular, Bold, Italic, Light and so on. Install all of them if you want the full family available in your apps. If you only install the Regular file, an application asking for Bold will fake it by artificially thickening the letters, which rarely looks as good as the real designed weight.
Installing fonts on Windows
The quickest method is to right-click the .ttf or .otf file and choose "Install". This adds the font for your user account only. If you want every account on the machine to have access, choose "Install for all users" instead — this requires administrator rights.
You can also open the Settings app, go to Personalization, then Fonts, and drag the font files into the "Add fonts" drop zone. Installed fonts live in C:\Windows\Fonts. Once installed, restart any open application (Word, Photoshop, your browser) so it can pick up the new font in its menu.
Installing fonts on macOS
Double-click the font file. The built-in Font Book app opens and shows a preview. Click "Install Font" at the bottom of the window and the font becomes available system-wide. You can also open Font Book directly and drag files into it.
Font Book can validate a font and warn you about duplicates or corrupted files before installing — useful if a font is not behaving. To remove a font later, find it in Font Book, right-click and choose "Remove". As on every platform, quit and reopen your design or word-processing apps so the new font appears in their font menus.
Installing fonts on Linux
On most Linux desktops you can install a font just for yourself by copying the font file into a fonts folder in your home directory: ~/.local/share/fonts (or the older ~/.fonts). Create the folder if it does not exist, copy your .ttf or .otf files into it, then run "fc-cache -f -v" in a terminal to rebuild the font cache.
To make a font available to every user on the system, copy it into /usr/share/fonts (you will need sudo). Many desktop environments such as GNOME also let you double-click a font file to open a preview window with an "Install" button, which handles all of this for you.
Using a custom font on the web with @font-face
Installing a font on your computer does not make it appear for visitors to your website — their browsers can only use fonts they can download. To serve a custom font you declare it in CSS with the @font-face rule and host the font files alongside your site. Use WOFF2 as the primary format because it is the smallest and is supported by every modern browser; WOFF is a sensible fallback for older browsers.
A typical declaration looks like this: @font-face { font-family: "My Font"; src: url("/fonts/myfont.woff2") format("woff2"), url("/fonts/myfont.woff") format("woff"); font-weight: 400; font-style: normal; font-display: swap; }. Repeat the block for each weight and style, changing the font-weight and font-style values and pointing src at the matching file. Then apply it anywhere with font-family: "My Font", sans-serif — always keep a generic fallback at the end.
The font-display: swap descriptor tells the browser to show text in a fallback font immediately and swap in your custom font once it loads, so visitors are never staring at invisible text. Finally, confirm the font license permits web embedding before you upload it to a public server — many free-for-personal-use fonts specifically forbid hosting the file online.