Plugin Pulse
← Pulse

Custom Fonts – Host Your Fonts Locally

by Brainstorm Force · Performance

Also makes 33 other plugins · 7.0M+ installs across the portfolio →

Custom Fonts is a powerful WordPress plugin that allows you to upload your own custom fonts or choose from a vast collection of Google Fonts, all host …

How scoring works →
86 Health · A
Maintenance 100/100
Rating quality 82/100
Support 70/100

86 health vs 67 average across 1,076 Performance plugins

Directory ranking optimization

How it's scored →

How well this listing is tuned to rank in WordPress.org search, on the factors an owner controls. Not popularity, optimization.

97 / 100

Excellent listing optimization

Well tuned across the board

Update recency 100/100
WP compatibility 100/100
Rating quality 84/100
Listing tuning 100/100
Support resolution 100/100

Daily downloads

Since 2022-10-05 · 1,421 days · wp.org + Plugin Pulse archive

+0% vs prior 30d
613Downloads · Aug 26

30-day downloads

Rolling 30-day volume · peaks are release surges

21.7K

now · peak 304.5K

21.7K30d downloads · Aug 26

Directory rank vs rivals

wp.org popularity rank over time · higher is better · when a rival's line climbs above yours, they've overtaken you

Custom Fonts · #154 you Fonts Plugin · #250 Fonts · #2449 Wbcom Designs · #4004

Rating trend

Star average over time · dips mark rough releases

4.3Stars · Aug 26

Update activity

How busy the existing users are, measured as downloads in the last 30 days for every 1,000 active sites. A spike means a new release everyone's pulling; a long, slow decline means an aging user base that updates less.

54per 1k installs · Aug 26

Release cadence

Occasionally updated
from wp.org release tags

How often this plugin actually ships. A steady rhythm is the maintenance signal a single "last updated" date can't show.

2

releases in the last 12 months

1mo ago

latest release · v2.1.17

46

tagged releases on record

Recent releases

2.1.17 · 1mo ago2.1.16 · 9mo ago2.1.15 · 1.2y ago2.1.14 · 1.3y ago2.1.13 · 1.4y ago2.1.12 · 1.4y ago2.1.11 · 1.6y ago2.1.10 · 1.6y ago2.1.9 · 1.6y ago2.1.8 · 1.8y ago2.1.7 · 1.9y ago2.1.6 · 2.1y ago2.1.5 · 2.3y ago2.1.4 · 2.4y ago

What its installed base runs

via wordpress.org

Share of active installs on each version of this plugin · 91% run the current release. Green is the current release; a big slice on older versions is a user base that has stopped updating.

v2.1 91%
v1.3 6.5%
Older / other versions 2.6%

Estimated active installs

The public count shows “400K+”. Our estimate pins where the real number sits.

tracked estimate
400K–500K ≈440K

Refined from the date this plugin crossed into its current band.

At the current install trend, crossing 500K+ in roughly 293 days.

Install history · since 2018-03-02 · 1,466 observations

400KInstalls · Aug 26

Estimated value

What this plugin might earn a year, and what it might sell for. Modeled from public signals; we don't see anyone's books.

Est. annual revenue

N/A

Est. acquisition value

N/A

No paid tier is visible, so we don't put a figure on revenue or sale value: that would be guessing. The install base is a real asset to an acquirer, just not one public data lets us price.

Details

Version
2.1.17
Last updated
yesterday
Added
2017-08-12 · 9 yrs old
Requires WP
5.0
Tested up to
7.1
Requires PHP

Recent reviews

All reviews on wp.org ↗
  1. pdwalker
    1.5y ago

    The fonts were easy to upload and define, but I was unable to see the new fonts afterwards. After trying different themes, different options and different settings for an hour, I was unable to make it work. If the plugin really does work, then some explicit instructions from the developer on how to actually make it work would be really helpful. As it ism I cannot use it.

    Read on wp.org ↗
  2. Nick
    2.0y ago

    Had the same problem as others on the forum: selected Google fonts aren’t visible in the elementor dropdown box. I disabled all other plugins except Elementor. No joy. The administrators say it works for them. So good luck with that. I also tried downloading the fonts I wanted and uploading them again to Custom Fonts but this caused other problems. Have now dumped Custom Fonts and use another plugin.

    Read on wp.org ↗
  3. annssi
    2.1y ago

    Italics are not working. As soon as they are added as a font variant all variants are shown as italics. Thus you need to set-up the italics as a separate font which makes it really cumbersome to use.This problem has been around for over a year and it seems nothing has been done to fix it. Not impressed. 🙁

    Read on wp.org ↗
  4. Skylabb
    2.2y ago

    There are probably a dozen of fonts plugins out there with many if not most of them still use Customizer interface. Moving forward with the future of WordPress, you want the plugin to be compatible with Full Site Editing framework, and this plugin works well with the new framework.

    Read on wp.org ↗
  5. revayatejahad
    2.3y ago

    in lines 194 of following path, there was a problem … In the provided code snippet, the issue was occurring in the remove_custom_font_google_url method. This method is responsible for removing custom fonts from the Google fonts URL array. The problem was with the line: php code: if ( $value['font_fallback'] ) { Here, the code was trying to access the font_fallback index of $value directly without ensuring that $value['font_fallback'] exists and is not null. This could lead to issues if $value['font_fallback'] is not set. To fix this, I made the following changes: I added a check to see if $value['font_fallback'] exists and is not null using isset(): php code: if ( isset( $value['font_fallback'] ) && $value['font_fallback'] ) { If $value['font_fallback'] exists and is not null, then $value['font_fallback'] is appended to $font_key. Otherwise, $font_key remains the same. By adding this check, we ensure that the code doesn’t try to access an undefined index, which could lead to the “Trying to access array offset on value of type bool” warning. Instead, it first checks if the index exists before attempting to access it.

    Read on wp.org ↗
  6. emily2024
    2.3y ago

    The last plugin I tried before this had a paywall to upload more than one weight variation of one font. Unbelievable. Considering most good fonts have 8+ variations, I thought other plugins were probably running the same scheme BUT this plugin literally allows you to upload not just as many variations as you want but several different families as well. In the FREE version!! This plugin is a godsend

    Read on wp.org ↗
  7. joedwork1
    2.3y ago

    Thanks for making the plugin, integrated seamlessly for bold/regular fonts. If I make font styles/add the Woff2 italic assets as italics within the same font family as regular and bold fonts in the control panel, Elementor gravitates to the italic font and makes everything italic regardless if default/regular is selected in the style dropdown of Elementor editor. For now I have to make separate fonts for italic and regular versions and ignore the italic/regular selector in Elementor Page builder. Or probably forever because I see a bad review regarding this from 9 months time ago The good news is that if Italic is selected for the base font already set throughout the site in Elementor Editor, Elementor attempts to augment the Italic, just not with the assets provided since those have to be a separate font within this plugins control panel in reality. This topic was modified 2 years, 3 months ago by joedwork1. This topic was modified 2 years, 3 months ago by joedwork1. This topic was modified 2 years, 3 months ago by joedwork1.

    Read on wp.org ↗
  8. lucasbustamante
    2.5y ago

    Works well

    Read on wp.org ↗

Latest updates

via wp.org changelog

Recent releases and news for this plugin

  1. Version 2.1.17 Improved codebase for improved security. (Props to Wordfence) 2.1.17
  2. Version 2.1.16 Custom fonts plugin tested with WordPress 6.9 version. 2.1.16
  3. Version 2.1.15 Updated plugin with few extra information for clarity. 2.1.15
  4. Version 2.1.14 Fix: Prevented early translation loading error by initializing text domain strings on init hook. Fix: Ensure SVG icons inside Add button propagate click events properly by adjusting pointer-events styling = 2.1.13 – Cust 2.1.14
  5. Version 2.1.6 Improvement: Few string from admin dashboard app doesn’t have text domain support. (Props – https://github.com/pedro-mendonca) 2.1.6
  6. Version 2.1.5 Improved codebase for improved security. 2.1.5

Known vulnerabilities

via Wordfence Intelligence

2 disclosed vulnerabilities on record for this plugin, all fixed in the current version. Sites on older versions stay exposed until they update.

  1. 2026-01-19 CVE-2025-14351 Missing Authorization Affects <= 2.1.16 Patched in 2.1.17
  2. 2024-05-23 CVE-2024-1332 Unrestricted Upload of File with Dangerous Type Affects <= 2.1.4 Patched in 2.1.5

Vulnerability records provided by Wordfence Intelligence. Copyright 2012-2026 Defiant Inc. License and terms.

CVE records: Copyright 1999-2026 The MITRE Corporation. CVE terms of use.

Behavioral tests

via WP Hive

Automated install-time checks, tested on PHP 8.1.12 · WP 7.0.1

Low memory footprint
Low page-speed impact
Runs on latest PHP + WP
No PHP errors
No JS errors
Activates cleanly
No resource errors
No external HTTP errors
Optimized database use
Frequently updated

Languages

via translate.wordpress.org

Translated into 25 languages, 12 at 90% or more

Chinese (Taiwan) 100%
Dutch 100%
Dutch (Belgium) 100%
Dutch (Formal) 100%
English (UK) 100%
French (France) 100%
Spanish (Chile) 100%
Spanish (Spain) 100%
Persian 91%
Portuguese (Portugal) 91%
Vietnamese 91%
Swedish 90%
Russian 85%
Czech 35%
Spanish (Venezuela) 35%
Kurdish (Sorani) 33%
Spanish (Colombia) 33%
Spanish (Mexico) 33%
German (Formal) 30%
Galician 28%
German 22%
Indonesian 22%
Portuguese (Brazil) 18%
Italian 13%

Plus 1 more locale with partial translations.

Growth timeline

Install-tier crossings we have observed, and how long each tier took to outgrow

  1. 2026-03-19 300K+ → 400K+ up

Competes with

The plugins that solve the same job, ranked by shared tags then reach, closest match first. The letter on the right is each plugin's health grade (A best, F worst).

Compare head to head →

Embed this report card

Drop a live Pulse card for Custom Fonts – Host Your Fonts Locally into a readme, a review or a deck. It updates itself.

<iframe src="https://plugins.wpmayor.com/embed/custom-fonts" width="480" height="300" style="border:0" loading="lazy" title="Custom Fonts – Host Your Fonts Locally — Plugin Pulse"></iframe>
Preview card ↗

Custom Fonts – Host Your Fonts Locally: 400K+ active installs, 4.3★ (62 reviews). Plugin Pulse (WP Mayor), as of 2026-08-25. https://plugins.wpmayor.com/plugin/custom-fonts