Show HN: Fontofweb – Discover Fonts Used on a Website or Websites Using Font(s)

61 sim04ful 23 5/31/2025, 2:20:58 PM fontofweb.com ↗
Hey HN, I've been working on fontofweb.com on and off for the past 4 years, and I'm keen to share it with you. It lets you type in the URL of any website and see exactly how the fonts are used: all the weights, line heights, and sizes.

A big plus is that it doesn't require a Chrome extension, unlike a lot of other tools in this space.

You can also search for a specific font and find websites using it. For example, check out sites using Inter: https://fontofweb.com/w/inter. This reverse font search even supports looking for multiple fonts at once, like here’s an example with Inter and Space Mono: https://fontofweb.com/w/inter/space-mono.

My goal with Font of Web is to build up a comprehensive database of font usage across the web. By collecting and analyzing this data, I believe we can uncover some valuable trends, such as:

* Common font pairings * Popular heading fonts over time * Market share of commercial fonts * Top font foundries based on actual usage

I originally built a version of this four years ago and was surprised by how much organic interest it received.

I’ve now rebuilt the tool from scratch, moving away from browserless.io — which was quite expensive — to an invisible iframe approach with a proxied URL to handle CORS (it’s a straightforward solution, and I’m rather surprised it isn’t discussed more often). This change has completely eliminated all costs related to web scraping.

Here's the Tech Stack:

* Remix + HeroUI + Tailwind * Rust Backend in Axum * Authentication with OTP email and Google social auth (via openidconnect) * Sqlite running on the same VPS as the API service * $5/mo VPS * Cloudflare CDN * Cloudflare R2 for storage * Zeptomail for emails (very cheap and reliable, highly recommend!) * Simple Analytics: https://dashboard.simpleanalytics.com/fontofweb.com * Logging: Journalctl :)

There are currently 275 websites in the database, and I'm working on increasing this. Stats are available at: https://api.fontofweb.com/stats.

While the main site doesn't need an extension, for more robust searching and to help with Cloudflare-protected sites, there’s a chrome extension available.

There's also a public API for domains that have already been checked. For instance: https://api.fontofweb.com/report?domain=apple.com&path=/.

There's also RSS feed I’ve got no idea why you would need this directly, but I'm using it because Pinterest allows you to automatically populate boards with an RSS. https://api.fontofweb.com/rss

Appreciate your thoughts and feedback

Comments (23)

andelink · 1d ago
The searching for usage of fonts is a useful feature. But for identifying fonts on specific websites, I find the browser dev tools to be more than sufficient. There is a “fonts” tab that lists all the fonts in use and their attributes like weight, any variable axis, etc.
sim04ful · 1d ago
Variable Axis and other attributes are pretty feasible now, I'm already parsing the metadata for font tables values to dedup font files, so extending it should be pretty straight-forward.

I'll investigate.

nicoburns · 1d ago
If you're not already using it, the read-fonts and skrifa crates from https://github.com/googlefonts/fontations can parse variable font data (as well as pretty much anything else you might want out of an opentype font).
sim04ful · 1d ago
Currently using the fonttools crate, but i'll look into this, appreciate.
vinnymac · 1d ago
Small piece of advice you should be debouncing your primary input at the very least, especially because you insert an entry into the browser history for every character typed (consider only doing that on submit). Plus if any calls are made to the network in response to a key press you’d add unnecessary pressure.

Presently trying to navigate back to the comments from your site after typing out a domain required far more effort than navigating backward a couple times.

sim04ful · 7h ago
Fixed: instead of debouncing, i'm using location.hash, no network requests since hash arguments are ignored in urls.

I can't believe I was making a network request per keystroke, textbook example.

kinduff · 4h ago
Heads up that hashes cannot be read from the server.
sim04ful · 1d ago
I'll fix that thanks
sim04ful · 1d ago
Hey guys, seems the influx of traffic has resulted in some unforeseen circumstances; i'm still trying to figure out what's going wrong.

Edit - Fixed, Cloudflare wanted some money :)

user_7832 · 1d ago
Excellent website! I manually still "collect" fonts in a text document using a font finder extension. I couldn't make out but is there a way to:

a. add any website you find that has a good font/paring, optionally with comparisons? (For example polestar's Unica77 is nice, I remember coming across NB International somewhere which is similar in some ways but nicer)

b. maintain one's "own" list of websites with good font/pairings?

sim04ful · 1d ago
Yup, you can currently bookmark a website by clicking the button at the right side of the search bar, and also add it to a collection you create.

Here's my bookmarks as an example: https://fontofweb.com/2 And one of my collections: https://fontofweb.com/2/serif-heavy-sites

user_7832 · 12h ago
Thank you!
sim04ful · 1d ago
I'll note down the font comparison feature, there might be something to it indeed.
pepa65 · 8h ago
Doesn't work, fails to generate a report repeatedly.
sim04ful · 5h ago
Wow, what websites are you trying
dfee · 1d ago
Hey! That looks like the stack I’m working with! You just seem further :)

Totally meta, and I appreciate FOW (cool!) but I’m pretty interested in your learnings building and deploying with this stack!

Congrats on launch!

jasoncartwright · 1d ago
Might want to consider upgrading that VPS for a couple of days
sim04ful · 1d ago
Haha, Just enabled an endpoint wide caching policy. Stale content, but should be a stopgap.
dylan604 · 1d ago
must be a backend person! they were so proud to tell us about eliminating the cost of the scraping, but totally forgot about the cost of the user facing part of it. /s

it is hard to imagine how quickly "going viral" can swamp your system until you've been there, done that.

craigkilgo · 1d ago
hug of death?
sim04ful · 1d ago
Oops seems like, enabled caching in the meantime. All the requests were hitting origin...thankfully I had cloudflare already doing the routing.
TechDebtDevin · 1d ago
nice this will be super useful.
khalilosman123 · 1d ago
nice