Skip to content

How to Change Fonts in WordPress Step by Step

How to Change Fonts in WordPress

How to change fonts in WordPress depends on one thing: whether your theme is a block theme or a classic theme. Block themes change fonts in the Site Editor. Classic themes need a little CSS.

Since WordPress 7.0, both kinds of theme share one place to add fonts, called the Font Library. It lets you install Google Fonts or upload your own files, then use them anywhere on your site. That one screen replaces most font plugins.

This guide shows both routes step by step. Every screenshot comes from a WordPress 7.1.2 test site, checked in September 2026, with the Twenty Twenty-Five block theme and the Twenty Twenty-One classic theme.

How to Change Fonts in WordPress: The Two Jobs

How to change fonts in WordPress comes down to two jobs: add the font, then apply it. Add fonts under Appearance, then Fonts, which works with every theme in WordPress 7.0 and later. Apply them in the Site Editor for a block theme, or with CSS for a classic theme.

The official Font Library documentation says the library became available to block themes and classic themes starting in WordPress 7.0. The feature itself first shipped in WordPress 6.5, according to the core team’s announcement. On older sites it lives inside the Site Editor.

How to change fonts in WordPress: add the font first, then apply it in the Site Editor or with CSS

Most guides skip the second job on classic themes. A font can sit in your library and still do nothing until your theme is told to use it. We show that gap on our test site later in this guide.

Check If You Use a Block Theme or a Classic Theme

Open the Appearance menu in your dashboard and read the sub-items under it. A block theme lists Editor, which opens the Site Editor, while a classic theme lists Customize, Widgets and Menus. Both types list Fonts in WordPress 7.0 and later.

On our block theme test site, the Appearance menu showed Themes, Editor and Fonts. On the classic theme, it showed Themes, Customize, Widgets, Fonts, Menus and Background, among others.

WordPress Appearance menu on a block theme with Editor and on a classic theme with Customize
Image: WordPress 7.1.2 test site, block theme on the left and classic theme on the right

How to Add Fonts to WordPress With the Font Library

Go to Appearance, then Fonts, to open the WordPress Font Library. It has three tabs: Library, Upload and Install Fonts. Use Install Fonts for Google Fonts and Upload for your own files, and new fonts then appear in the Library tab.

The Library tab lists every font on your site. On our test site, the Theme group showed Fira Code and Manrope, which came with Twenty Twenty-Five. Fonts you add appear in a separate Custom group.

Install a Google Font

Click the Install Fonts tab. The first time, WordPress asks for permission to connect to Google. The screen explains that installed fonts are downloaded from Google and stored on your site.

Your site then uses these locally hosted fonts. Click Allow access to Google Fonts to continue. You can take that access back later from the three-dot menu on the same tab, as the official docs describe.

WordPress Connect to Google Fonts prompt with the Allow access to Google Fonts button highlighted
Image: WordPress 7.1.2 test site

Type a font name into the search box and click the result. We searched for Lora and found it with 8 variants. The list also showed other fonts with similar names, so pick the exact name you want.

Now choose the variants. Each variant is one style and weight, such as 400 normal for regular text or 700 normal for bold. Tick only the ones you need, then click Install.

WordPress Font Library variants list with Lora 400 normal and 700 normal selected and the Install button highlighted
Image: WordPress 7.1.2 test site

We ticked 400 normal and 700 normal. WordPress showed a notice that read Fonts were installed successfully, and Lora appeared in the Library tab with 2 of 2 variants active.

Fewer variants mean fewer files for visitors to download. When you open an installed font, the screen itself warns that too many variants could make your site slower.

Upload Your Own Font Files to WordPress

Click the Upload tab, then drop a font file onto the Upload font area or click it to choose a file. WordPress accepts .ttf, .otf, .woff and .woff2 files. Uploaded fonts join the same Library tab as your Google Fonts.

The screen lists those four formats right under the upload area. The official documentation adds a warning that you need permission to use and distribute the font, so check the license first.

WordPress Font Library Upload tab with the Upload font area and the list of supported formats highlighted
Image: WordPress 7.1.2 test site

We did not upload a file on our test site, so this screenshot only shows the screen. By default, the core team’s announcement says fonts go into the wp-content/fonts folder. A developer can move that folder with the font_dir filter.

Prefer WOFF2 when you have a choice. The web.dev guide to font best practices says WOFF2 compresses about 30 percent better than WOFF, so visitors download less data.

Change Fonts for the Whole Site in a Block Theme

Go to Appearance, then Editor, click Styles, then click Typography. Pick a typeset for a quick change, or open Headings or Text under Elements to change one part of your site. Choose a font from the Font list, and the preview updates at once.

The Typography screen has four groups: Typesets, Fonts, Elements and Font sizes. Typesets are the Aa tiles at the top, and each one is a ready-made font combination. Fonts lists everything in your library, which on our test site meant Fira Code, Lora and Manrope.

WordPress Site Editor Styles Typography screen with the Fonts list and the Headings element highlighted
Image: WordPress 7.1.2 test site

Under Elements you choose what to change: Text, Links, Headings, Captions or Buttons. Open Headings, and you can change all headings at once or pick one level from H1 to H6.

We opened Headings, clicked the Font list and chose Lora. The preview on the right showed our headings in Lora straight away. The body text stayed in Manrope, because Text is a separate element.

WordPress Site Editor Headings settings with Lora selected and the heading preview in Lora highlighted
Image: WordPress 7.1.2 test site

The button at the bottom left changed to Review 1 change after our edit. Click it and save to make the change live. We stopped at the preview on our test site and did not save.

Change the Font of One Block

Click a block, open the Block tab in the sidebar and find the Typography panel. The Font option is hidden by default, so open the three-dot menu on that panel and tick Font. A Font list then appears, and you can pick any font in your library.

On our test site, the Typography panel of a Paragraph block showed only Color and Font size at first. The three-dot menu listed Font among the tools that were switched off.

WordPress block editor Typography options menu with the Font option and the three-dot button highlighted
Image: WordPress 7.1.2 test site

After we ticked Font, a Font list appeared under Color. We chose Lora, and the paragraph changed to Lora at once. Only that block changed, so every other paragraph kept the site font.

WordPress block editor with the Font list set to Lora and the paragraph text shown in Lora
Image: WordPress 7.1.2 test site

Use this for one-off cases, such as a quote or a callout. For a rule that applies everywhere, set the font in Styles instead, so you do not repeat the change on every page.

Change Fonts in a Classic Theme

Classic themes have no Styles panel, so the steps differ. Install the font in Appearance, then Fonts, and turn its variants on. Then open Appearance, then Customize, then Additional CSS, and set the font-family for the elements you want to change.

Here is the catch we found. After we switched to Twenty Twenty-One, the Library showed Lora with 0 of 2 variants active. The font was installed but switched off for that theme.

WordPress Font Library on a classic theme with the Lora font showing 0 of 2 active variants
Image: WordPress 7.1.2 test site, Twenty Twenty-One theme

Click the Lora row, tick Select all, then click Update. Both variants switch on, and WordPress can load the font files for your theme.

WordPress Font Library on a classic theme with all Lora variants ticked and the Update button highlighted
Image: WordPress 7.1.2 test site, Twenty Twenty-One theme

Now go to Appearance, then Customize, then Additional CSS, and paste a rule. This one sets Lora on headings and post titles.

h1, h2, .entry-title {
	font-family: "Lora", serif;
}

The serif at the end is a fallback. Browsers use it if Lora fails to load.

WordPress Customizer CSS panel with a Lora font-family rule and the heading preview in Lora
Image: WordPress 7.1.2 test site, Twenty Twenty-One theme

Without that activation step, our first test looked wrong. The same CSS rule showed a plain serif font instead of Lora, because the font files were switched off. Always check the variant count in the Library first.

Change Fonts in WordPress Theme Files With a Child Theme

The Customizer CSS box is fine for a few rules. To change fonts in WordPress theme files for good, put the CSS in a child theme, so a theme update cannot wipe it. Our guide to a WordPress child theme shows how to set one up.

Turn Off or Delete Fonts You No Longer Use

Open Appearance, then Fonts, and click the font family in the Library tab. Clear the checkbox of any variant you no longer want, then click Update. To remove the whole family, tick its box, click Delete and confirm the prompt.

The official docs say a notice reading Font family uninstalled successfully appears after you delete a font. Turning a variant off is the safer first step, because you can turn it on again later.

On our classic theme test, the variants screen showed both Update and Delete buttons at the bottom. Delete stays out of the way until you open a family.

Do You Need a Font Plugin?

Most sites no longer need a font plugin, because the WordPress Font Library installs and hosts fonts by itself. A plugin still helps if you use a page builder or an older WordPress version. Check that any plugin lists your WordPress version before you install it.

For example, the Fonts Plugin listing on WordPress.org says it adds Google Fonts, Adobe Fonts and uploaded fonts. It shows more than 200,000 active installations and lists a test up to WordPress 7.1.2 as of September 2026.

We did not install that plugin for this guide, so we cannot judge how it behaves. Try the built-in library first, since it needs no extra code on your site.

Change Font Size and Color Too

Font family, size and color are three separate settings, and everything above covers the family. On a block theme, size and color live in the same Styles panel. On a classic theme, you set them with CSS in the Customizer.

We wrote a full guide for each one. Read how to change font size in WordPress for headings, body text and mobile sizes. Read how to change font color in WordPress for text, links and buttons.

Not sure which font to pick? Our list of the best WordPress fonts compares readable options for headings and body text.

Choose Fonts That Load Fast

Pick few fonts and few variants, because every extra file adds to the download. Two families are enough for most sites: one for headings and one for body text. Install only the weights you use, and prefer the WOFF2 format.

The web.dev font best practices give four rules worth following. Use WOFF2 only, use fewer web fonts, use font-display: swap so text shows at once, and remove unused glyphs when you can. The guide is from 2022, but these rules still hold.

Local hosting helps with privacy, since your visitors do not call Google’s servers for each font. The web.dev guide adds a warning on speed. It says self-hosting is only faster with a CDN and HTTP/2, so do not expect a miracle.

If your fonts still slow the page, our WordPress speed optimization services team can audit what loads and when.

Fix Fonts That Do Not Change in WordPress

Most font problems have four causes, and you can check them in minutes. The variants are switched off, you changed the wrong element, your theme CSS wins, or a cache shows the old page. Check them in that order, since the first two need no code.

What you seeLikely causeFix
Font missing from the Font listThe font is not installed or its variants are offOpen Appearance, then Fonts, and check the active count
Plain serif or sans-serif instead of your fontVariants switched off on a classic themeOpen the font, tick Select all, click Update
Headings changed but body text did notText is a separate elementSet the font under Text in Styles
Font works in the preview but not on the siteA cache plugin or CDN serves the old pageClear the cache and reload
Your CSS rule has no effectThe theme uses a more specific selectorUse a more specific selector in your CSS

After each fix, reload the page in a private window. That avoids your own browser cache.

If two rules fight, the more specific selector wins. A rule for .entry-title beats a rule for h1 on the same element. That is why the CSS rule above lists .entry-title next to h1 and h2.

Conclusion

Now you know how to change fonts in WordPress for both theme types. Add the font in Appearance, then Fonts. Then apply it in the Site Editor on a block theme, or with CSS on a classic theme.

The biggest trap is on classic themes, where an installed font can stay switched off. Check the active count in the Library before you write any CSS. For help with a custom design, see our WordPress development services.

Frequently Asked Questions (FAQs)

Q1. Where do I find fonts in WordPress?

Go to Appearance, then Fonts, in WordPress 7.0 and later. The Font Library has Library, Upload and Install Fonts tabs. On older sites, open the Site Editor and find the font manager in the Styles panel.

Q2. Can I upload my own font to WordPress?

Yes. Open Appearance, then Fonts, then the Upload tab, where WordPress accepts .ttf, .otf, .woff and .woff2 files. Make sure you have permission to use and share the font before you upload it.

Q3. Does WordPress host Google Fonts on my own server?

Yes, when you install them through the Font Library. WordPress downloads the files from Google and stores them on your site. Your visitors then load the fonts from your own server.

Q4. Why is my new font not showing on my site?

The most common cause is that its variants are switched off. Open the font in the Library and check the active count. Then check that you applied the font, and clear your cache plugin.

Q5. How many fonts should a WordPress site use?

Two is a safe start: one for headings and one for body text. More fonts add more files to download and can make your design look messy. Use bold and italic variants of the same family for emphasis.

Q6. Do custom fonts slow down my WordPress site?

They can. Each variant is a separate file that visitors download. Install only the weights you use, prefer WOFF2, and avoid loading fonts you no longer need.

Q7. How do I change font size or color instead of the font?

Those are separate settings from the font family. On a block theme, use the Styles panel. Our guides to changing font size and changing font color cover both.

Q8. Can I use a different font on one page only?

Yes, but the steps depend on your theme. On a block theme, open the page in the editor and use the Typography panel on a block. On a classic theme, target that page with a CSS rule in the Customizer.

Yash Kapoor
Yash Kapoor

Yash Kapoor is the founder and WordPress expert at DevDiggers, where he builds WordPress and WooCommerce plugins for loyalty programs, point-of-sale systems, digital wallets, and affiliate management. He writes about developer tools, site performance, and the technical side of running a WordPress store, drawing on years of building and maintaining production plugin codebases.

Leave a Reply

Your email address will not be published. Required fields are marked *