Skip to content
Aaron Carmen
How-tos

How to Change the Font in WordPress Without Slowing It Down

By Aaron CarmenUpdated October 20, 20263 min readTested on WordPress 7.1.3, October 20, 2026

Quick answer

To change the font in a WordPress block theme, go to Appearance, Editor, Styles, Typography and pick a typeset or set fonts for Text and Headings. Add new fonts with the Font Library, which stores them on your own site. In a classic theme, use Additional CSS. Each font family adds a file to download, so stick to one or two.

How to change the font in WordPress depends on your theme, but the bigger question is how many fonts you end up loading. Every font family is a file your visitors download before the text looks right. I changed fonts on a test site running WordPress 7.1.3 and measured the files each choice added.

Block themes: Styles → Typography

  1. Open Typography

    Go to Appearance → Editor → Styles and click Typography.

  2. Pick a typeset, or set fonts yourself

    Typesets are ready-made pairs, one font for headings and one for text. Click one to preview it. To choose separately, click Text or Headings under Elements and pick a font.

  3. Save

    Click Save. The new fonts apply across the whole site.

WordPress Styles Typography panel showing eight typeset options, the Fira Code and Manrope fonts, and elements for text, links, headings, captions and buttons
Styles → Typography in Twenty Twenty-Five, with eight typesets. WordPress 7.1.3, October 20, 2026.

Twenty Twenty-Five offers eight typesets, each named after its fonts, such as “Beiruti & Literata” or “Roboto Slab & Manrope”. The default uses Manrope for everything.

What each choice costs

I measured the font files a service page downloaded before and after switching typesets:

Typeset Font files downloaded Total size
Default (Manrope) 1 53 KB
Beiruti & Literata 2 278 KB

Two families instead of one made the fonts more than five times heavier. Two things are worth knowing from the test:

  • The browser only downloads what a page uses. Literata listed 18 styles, and the browser fetched just one, the weight my test page used. Extra weights you never use don’t cost anything.
  • Each extra family does cost. A third font for buttons or quotes is another file on every page. One font, or one for headings and one for text, is plenty for a business site.

If your site already feels slow, fonts are rarely the biggest problem; see how to speed up a WordPress site.

Adding a font that isn’t in the list

In the same Typography panel, click the Manage fonts icon next to Fonts. The Fonts window has three tabs:

  • Library: the fonts you have, and how many of each font’s styles are switched on.
  • Upload: add your own font files (.ttf, .otf, .woff or .woff2).
  • Install Fonts: choose from Google Fonts. On my test site this tab appeared a few seconds after the window opened, once the list had loaded.
WordPress Fonts window on the Install Fonts tab, asking permission to connect to Google Fonts and explaining fonts are stored on your site
The Install Fonts tab asks permission before connecting to Google. WordPress 7.1.3, October 20, 2026.

Before it connects, WordPress explains that fonts you install are downloaded from Google and stored on your site, and that your site then uses those locally hosted copies. That’s better for speed and privacy than loading fonts from Google on every visit. After installing, switch on only the styles you need in Library. On my test site, applying a typeset had switched on all 16 Literata styles.

Classic themes: a few lines of CSS

Classic themes often have no font setting at all. Twenty Twenty-One’s Customizer has Site Identity, Colors and Excerpt settings, but nothing for fonts. It uses the visitor’s own system fonts, so it downloads no font files.

Its stylesheet reads two settings you can override in Appearance → Customize → Additional CSS:

:root {
  --font-base: Georgia, "Times New Roman", serif;
  --font-headings: Georgia, "Times New Roman", serif;
}

The browser tries each font in the list in order and uses the first one the device has, so this changes the look without adding a download. Other classic themes use their own setting names, so check your theme’s documentation. Font plugins work too, but some load fonts from Google on every visit, which is exactly the extra download this guide is about avoiding.

Keep it to two

Pick one font for headings and one for text, use the weights you need, and let WordPress host them. If you want a font set up properly across your site, or your theme fights you on it, that’s part of my WordPress development work.

FAQ

Common questions

Does changing fonts slow down my WordPress site?

It can. On my test site, the default Twenty Twenty-Five font was one 53 KB file. Switching to a two-font typeset meant two files totalling 278 KB, more than five times as much. The browser only downloads the weights a page actually uses, so the number of font families matters more than how many styles are listed.

Are Google Fonts installed through WordPress loaded from Google?

No. WordPress's Font Library downloads the font from Google once, stores it on your site and serves it from there. WordPress shows a notice asking permission to connect to Google before it does this. Fonts added by some older themes and plugins are still loaded from Google's servers on every visit.

Why is there no font option in my theme's Customizer?

Many classic themes don't include one. Twenty Twenty-One's Customizer has Site Identity, Colors and Excerpt settings but no fonts. You can change fonts with a few lines in Appearance, Customize, Additional CSS, or use a plugin, but a plugin may load extra files.

How do I change the font on just one page or block?

In the block editor, select the block and look for Typography in its settings. Some blocks and themes offer a font choice there. For most sites, setting fonts once in Styles is better, because it keeps every page consistent.

Aaron Carmen, SEO specialist

About the author

Aaron Carmen

Senior WordPress Developer and SEO Specialist

I've built and optimized WordPress websites since 2013, 13+ years in total, including 9.5 years building WordPress sites for every client of a dental marketing agency. Today I help local businesses and agencies with WordPress development and SEO, so they get found on Google Search, Google Maps and AI search.

WordPress is a trademark of the WordPress Foundation. Aaron Carmen is not affiliated with or endorsed by the WordPress Foundation or the WordPress open source project.

Contact

Want this done for you?

Tell me about your site and what you need. I'll reply within one business day with any questions, then a fixed quote.

  • Reply within one business day
  • No obligation, no hard sell
  • Form and email only, calls optional
What you need

Prefer email? hello@aaroncarmen.com