Custom Fonts – Host Your Fonts Locally
by Brainstorm Force · Performance
Also makes 33 other plugins · 7M+ 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 …
Try it live opens a temporary test site in your browser, which can take about 20 seconds to load. Plugins that rely on outside services or a full server may not work completely there.
Health
A 88/100
no flags
Active installs
400K+
≈420K estimated
Momentum
+6%
downloads vs prior 30d
Biggest opportunity: Swap “performance” for “vast”. “performance” isn't earning its slot: you're not in the first 24 results for its own search. “vast” sits at #4 untagged, close enough for a declared tag to move it up. All five slots are taken, so one has to go.
88 health vs 69 average across 1,808 Performance plugins
Install conversion
How it's measured →6.2%
of downloads still active
At least 400K of 6.5M lifetime downloads are still running, above its category: the median Performance plugin keeps 1.4%, across 1,104 plugins.
Downloads count every update, not just first installs, so older and more frequently released plugins read lower. Compare against other Performance plugins, not across the directory. wp.org reports active installs as the bottom of a band, so the real rate is this or higher.
This plugin shipped 2 releases in the last 12 months, and every existing install that updated counted as another download. wp.org publishes no split between first installs and updates, so we show the raw rate rather than guess at one.
Details
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.
Excellent listing optimization
Well tuned across the board
Updated 69 days ago
Tested up to WordPress 7.1.4, the current branch or newer
4.3★ over 62 reviews, smoothed to 4.21★
5 of 5 tags set · short description in place
1 of 1 support threads resolved in the last 2 months
Search visibility
How it's tracked →Directory searches this plugin turns up in, and which way each one is moving. WordPress.org publishes no history of search positions, so this starts the day we first tracked a keyword and never backfills.
44
Momentum
Holding steady
+0.2
Velocity
places per keyword, 28d
32%
Breadth
of keywords climbing, 28d
-0.1
Acceleration
recent half vs earlier
wp.org is where the directory puts the plugin for that search. On merit is where it would sit if results were ranked on rating, support and updates, without the install boost. The last column is how far the wp.org position moved, from our first reading in the last 90 days to the latest.
| Keyword | wp.org | On merit | wp.org move, 90 days |
|---|---|---|---|
| custom fonts your tag | #1 | #2 | 0 |
| fonts your tag | #2 | #2 | 0 |
| google web fonts | #1 | #1 | 0 |
| web fonts | #1 | #1 | 0 |
| host google fonts locally | #1 | #2 | 0 |
| host | #3 | #5 | 0 |
| full site editing your tag | #4 | #7 | down 1 |
| google fonts your tag | #4 | #6 | down 1 |
| vast | #4 | #8 | 0 |
| wordpress google fonts plugin | #2 | #2 | 0 |
| wordpress fonts | #2 | #2 | 0 |
| fonts plugin | #2 | #4 | 0 |
| google fonts wordpress | #2 | #2 | 0 |
| block google fonts | #2 | #2 | 0 |
| upload fonts | #2 | #3 | 0 |
| choose | #13 | #19 | 0 |
| own | #23 | #22 | down 3 |
| collection | #24 | #19 | down 4 |
| editing | #10 | #15 | down 2 |
| full | #15 | #17 | up 1 |
| performance your tag | Not in the top 24 | ||
265 searches this plugin appeared in over the last 90 days, 20 listed. 245 left out as unrelated or noise (years, numbers, stray words). 1 of its tags isn't in the top 24 for their own search.
What to do about it
- Swap “performance” for “vast”. “performance” isn't earning its slot: you're not in the first 24 results for its own search. “vast” sits at #4 untagged, close enough for a declared tag to move it up. All five slots are taken, so one has to go.
Daily downloads
Since 5 Oct 2022 · 1,488 days · wp.org + Plugin Pulse archive
30-day downloads
Rolling 30-day volume · peak 304.5K · peaks are release surges
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
Rating trend
Star average over time · dips mark rough releases
Health trend
Composite health score, snapshotted daily
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.
Release cadence
Occasionally updatedHow 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
4mo ago
latest release · v2.1.17 · 16 Jul 2026
46
tagged releases on record
Recent releases
What its installed base runs
via wordpress.orgShare 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.
Estimated active installs
The public count shows “400K+”. Our estimate pins where the real number sits.
Crossed into this band 8 months ago and the previous band took 3.8 years to cross, so the real count is still just over 400K.
Install history since 1 Oct 2021
Recent reviews
All reviews on wp.org ↗- ★★★★★ pdwalker1.7y 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 ↗ - ★★★★★ Nick2.2y 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 ↗ - ★★★★★ annssi2.3y 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 ↗ - ★★★★★ Skylabb2.3y 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 ↗ - ★★★★★ revayatejahad2.5y 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 ↗ - ★★★★★ emily20242.5y 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 ↗ - ★★★★★ joedwork12.5y 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 ↗ - ★★★★★ lucasbustamante2.7y ago
Works well
Read on wp.org ↗
Latest updates
via wp.org changelogRecent releases and news for this plugin
- — Version 2.1.17 Improved codebase for improved security. (Props to Wordfence) 2.1.17
- — Version 2.1.16 Custom fonts plugin tested with WordPress 6.9 version. 2.1.16
- — Version 2.1.15 Updated plugin with few extra information for clarity. 2.1.15
- — 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
- — 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
- — Version 2.1.5 Improved codebase for improved security. 2.1.5
Security history
via Wordfence IntelligenceAll 2 disclosed vulnerabilities are patched in the current version (2.1.17). Sites still on an older version should update.
- Patched Medium · 6.4 Custom Fonts – Host Your Fonts Locally <= 2.1.4 - Authenticated (Author+) Stored Cross-Site Scripting ↗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 HiveAutomated install-time checks, tested on PHP 8.1.12 · WP 7.0.1
Languages
via translate.wordpress.orgTranslated into 26 languages, 14 at 90% or more
Plus 2 more locales with partial translations.
AI assistants
How it's measured →Whether ChatGPT and Claude name this plugin when asked the category question, and whether the readme gives them something to quote.
Not measured yet for this plugin’s topics. Its tracked searches are not among the measured topics. See the topics measured so far.
Readme readiness
7 of 8 pass · checked 27 Oct 2026Can an assistant quote this readme? Eight deterministic checks over the wp.org listing, no model involved.
- ✓ Says what it does "Custom Fonts is a powerful WordPress plugin that allows you to upload your own custom fonts or choose from..."
- ✓ Has a FAQ 6 questions in the FAQ.
- ✓ FAQ asks real questions 6 of 6 read like questions a user would type.
- ! Names who it is for One audience phrase ("if you want"); say who the plugin is for and what they use it for.
- ✓ Names what it works with Mentions Elementor, Block editor.
- ✓ Headings and lists 10 headings and 6 lists.
- ✓ Enough to quote 5,043 characters of description.
- ✓ Tags match the text All 5 tags appear in the text.
Growth timeline
Install-tier crossings we have observed, and how long each tier took to outgrow
- 2026-03-19 300K+ → 400K+ up after 1387 days in tier
- 2022-06-01 200K+ → 300K+ up after 417 days in tier
- 2021-04-10 100K+ → 200K+ up after 414 days in tier
- 2020-02-21 90K+ → 100K+ up after 39 days in tier
- 2020-01-13 50K+ → 90K+ up after 144 days in tier
- 2019-08-22 10K+ → 50K+ up after 294 days in tier
- 2018-11-01 9K+ → 10K+ up after 31 days in tier
- 2018-10-01 8K+ → 9K+ up after 30 days in tier
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).
-
Fonts Plugin | Google Fonts, Adobe Fonts & Upload Fonts 200K+ installs · 4.9★ · 3 shared tags A -
Fonts 8K+ installs · 4.3★ · 3 shared tags B -
Wbcom Designs – Custom Font Uploader 3K+ installs · 3.8★ · 3 shared tags C -
Use Any Font | Custom Font Uploader 200K+ installs · 4.7★ · 2 shared tags A -
Swap Google Fonts Display: Improve Font Rendering & Performance 10K+ installs · 4.2★ · 2 shared tags B -
Jooosi Fon – Use Custom Fonts, Google Fonts or Adobe Fonts 4K+ installs · 4.6★ · 2 shared tags A
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> Custom Fonts – Host Your Fonts Locally: 400K+ active installs, 4.3★ (62 reviews). Plugin Pulse (WP Mayor), as of 2026-11-01. https://plugins.wpmayor.com/plugin/custom-fonts
Spotted a number that looks wrong? Report a data issue and we'll check it against the source.