The typefaces of 200 SaaS homepages
We read the CSS behind 200 SaaS homepages to see which typefaces they actually use.
of the 176 homepages we could read use Inter for headings or body text.
Geist7Poppins7Satoshi4Söhne4DM Sans3Instrument Sans3Manrope3Neue Haas Grotesk3Plus Jakarta Sans3Roobert3ABC Favorit2Aeonik2Articulat CF2Circular2Figtree2GT America2GT Walsheim2IBM Plex Serif2Inter Tight2Lato2Matter2Newsreader2PP Neue Montreal2Proxima Nova2Season Mix2Space Grotesk2STK Bureau Sans2 and 95 families that appear on only one site.
The free families, in their own type
The most-used families with an open licence, each set in itself. Between them they appear on 38% of homepages.
-
Inter sets 46 of 176 SaaS homepages.
-
Poppins sets 7 of 176 SaaS homepages.
-
Geist sets 7 of 176 SaaS homepages.
-
Instrument Sans sets 3 of 176 SaaS homepages.
-
DM Sans sets 3 of 176 SaaS homepages.
-
Manrope sets 3 of 176 SaaS homepages.
-
IBM Plex Serif sets 2 of 176 SaaS homepages.
Licensed from a foundry
Söhne 4Neue Haas Grotesk 3Roobert 3ABC Favorit 2Aeonik 2Articulat CF 2Circular 2GT America 2GT Walsheim 2Matter 2PP Neue Montreal 2Proxima Nova 2Suisse Intl 2TWK Lausanne 2Waldenburg 2ABC Arizona Flare 1ABC Diatype 1ABC Normal 1
Made for the brand
Avant Garde for SalesforceCal SansCalendly SansCharlieCrowdStrike Sharp SansCursor GothicDS IndigoFigma SansGitLab SansHarvey SansHarvey SerifHubSpot SansHubSpot Serifpplx SansReplit DiatypeRoundHogSamsara SansScoutie SansSentinel SansWF Visual SansWix MadeforWorkday Sans
Licensed and custom families are shown in our own type. Their files belong to their foundries and owners.
One spike, then a long flat tail
All 126 families, ranked by how many homepages use them. Inter is on 46. Only 11 families reach three, and 95 appear exactly once.
All 126 families as a table
| Rank | Family | Homepages |
|---|---|---|
| 1 | Inter | 46 |
| 2 | Geist | 7 |
| 3 | Poppins | 7 |
| 4 | Satoshi | 4 |
| 5 | Söhne | 4 |
| 6 | DM Sans | 3 |
| 7 | Instrument Sans | 3 |
| 8 | Manrope | 3 |
| 9 | Neue Haas Grotesk | 3 |
| 10 | Plus Jakarta Sans | 3 |
| 11 | Roobert | 3 |
| 12 | ABC Favorit | 2 |
| 13 | Aeonik | 2 |
| 14 | Articulat CF | 2 |
| 15 | Circular | 2 |
| 16 | Figtree | 2 |
| 17 | GT America | 2 |
| 18 | GT Walsheim | 2 |
| 19 | IBM Plex Serif | 2 |
| 20 | Inter Tight | 2 |
| 21 | Lato | 2 |
| 22 | Matter | 2 |
| 23 | Newsreader | 2 |
| 24 | PP Neue Montreal | 2 |
| 25 | Proxima Nova | 2 |
| 26 | Season Mix | 2 |
| 27 | Space Grotesk | 2 |
| 28 | STK Bureau Sans | 2 |
| 29 | Suisse Intl | 2 |
| 30 | TWK Lausanne | 2 |
| 31 | Waldenburg | 2 |
| 32 | ABC Arizona Flare | 1 |
| 33 | ABC Diatype | 1 |
| 34 | ABC Normal | 1 |
| 35 | ABC Whyte | 1 |
| 36 | Aeonik Fono | 1 |
| 37 | Aleo | 1 |
| 38 | Arcadia | 1 |
| 39 | Aribau Grotesk | 1 |
| 40 | Auto Pro | 1 |
| 41 | Avant Garde for Salesforce | 1 |
| 42 | avantt | 1 |
| 43 | Averta | 1 |
| 44 | Axel Grotesk | 1 |
| 45 | Azeret Mono | 1 |
| 46 | Bagoss | 1 |
| 47 | Beausite | 1 |
| 48 | Bebas Neue Pro | 1 |
| 49 | Bernina Sans | 1 |
| 50 | Bricolage Grotesque | 1 |
| 51 | Brother 1816 | 1 |
| 52 | Cal Sans | 1 |
| 53 | Cal Sans UI Variable | 1 |
| 54 | Calendly Sans | 1 |
| 55 | Canela | 1 |
| 56 | Charlie | 1 |
| 57 | Clash Grotesk | 1 |
| 58 | CrowdStrike Sharp Sans | 1 |
| 59 | Cursor Gothic | 1 |
| 60 | Degular | 1 |
| 61 | Die Grotesk | 1 |
| 62 | Domaine | 1 |
| 63 | DS Indigo | 1 |
| 64 | Eina | 1 |
| 65 | Euclid Circular | 1 |
| 66 | Feature Deck | 1 |
| 67 | FF Mark | 1 |
| 68 | Figma Sans | 1 |
| 69 | FK Grotesk | 1 |
| 70 | Geist Mono | 1 |
| 71 | Geliat | 1 |
| 72 | Gellix | 1 |
| 73 | GitLab Sans | 1 |
| 74 | glyph | 1 |
| 75 | GT Cinetype | 1 |
| 76 | GT Haptik | 1 |
| 77 | GT Standard | 1 |
| 78 | Harvey Sans | 1 |
| 79 | Harvey Serif | 1 |
| 80 | Haskoy | 1 |
| 81 | Hedvig Letters Sans | 1 |
| 82 | Hedvig Letters Serif | 1 |
| 83 | Helvetica Now | 1 |
| 84 | Host Grotesk | 1 |
| 85 | HubSpot Sans | 1 |
| 86 | HubSpot Serif | 1 |
| 87 | iA Writer Quattro | 1 |
| 88 | Judge | 1 |
| 89 | Lexend | 1 |
| 90 | Martina Plantijn | 1 |
| 91 | melange | 1 |
| 92 | Montserrat | 1 |
| 93 | National | 1 |
| 94 | Noto Sans | 1 |
| 95 | Open Sans | 1 |
| 96 | Orbitron | 1 |
| 97 | Pitch Sans | 1 |
| 98 | PolySans | 1 |
| 99 | PP Formula | 1 |
| 100 | pplx Sans | 1 |
| 101 | quadrant | 1 |
| 102 | Replit Diatype | 1 |
| 103 | Roboto | 1 |
| 104 | RoundHog | 1 |
| 105 | Rubik | 1 |
| 106 | Saans | 1 |
| 107 | Samsara Sans | 1 |
| 108 | SC Ripley | 1 |
| 109 | Scoutie Sans | 1 |
| 110 | Season Sans | 1 |
| 111 | Sentinel Sans | 1 |
| 112 | Silka | 1 |
| 113 | Sora | 1 |
| 114 | Spline Sans | 1 |
| 115 | Texta | 1 |
| 116 | Tiempos Headline | 1 |
| 117 | TT Hoves | 1 |
| 118 | TT Norms Pro | 1 |
| 119 | TWK Everett | 1 |
| 120 | Untitled Sans | 1 |
| 121 | Uxum Grotesque | 1 |
| 122 | Vanilla Sans | 1 |
| 123 | WF Visual Sans | 1 |
| 124 | Whitney | 1 |
| 125 | Wix Madefor | 1 |
| 126 | Workday Sans | 1 |
Where the heading face comes from
Free families lead, licensed type is close behind. Custom means the family carries the company's name or is a documented commission. A licence we could not confirm is left as that, not guessed.
- Free or open source
- 39% of headings (68) 46% of body text
- Licensed from a foundry
- 37% of headings (65) 30% of body text
- Custom, made for the brand
- 11% of headings (20) 9% of body text
- System fonts
- 6% of headings (10) 9% of body text
- Licence not confirmed
- 7% of headings (13) 6% of body text
Sans serif, almost without exception
66% use one family for headings and body. Monospace appears on 3 homepages, all developer tools.
- Sans serif
- 89% of headings (157) 95% of body text
- Serif
- 7% of headings (13) 1% of body text
- Monospace
- 1% of headings (1) 1% of body text
- Not classified
- 3% of headings (5)
The 13 serif headings
HubSpot HubSpot SerifZoom NewsreaderOkta Season MixHarvey Harvey SerifResend DomaineMintlify ABC Arizona FlareLoops NewsreaderTwenty AleoGorgias Feature DeckRailway IBM Plex SerifZed IBM Plex SerifMissive Tiempos HeadlineMidday Hedvig Letters Serif
How the fonts arrive
Most homepages serve their fonts themselves, even when the family comes from the Google catalogue. The file count is a ceiling from the CSS, not a measured download.
- Serve their main fonts from their own domain or CDN
- 75%
- Serve them from a site builder or CMS CDN
- 13%
- Load them from Google's font servers
- 5%
- Link to Google Fonts at all
- 9%
- Body face served as a variable font
- 43%
- Preload at least one font file
- 57%
- Font files declared for Latin text, median
- 8
- Declared by the top quarter, or more
- 17
- Most declared by one homepage
- 92
Custom type is a public-company habit
The share of homepages with a heading face made for the brand, by company stage. Free families fill the gap. Treat the splits as directional; the sample was picked by hand.
| Stage | Homepages | Custom heading | Licensed heading | Free or open family | Uses Inter | Median font files |
|---|---|---|---|---|---|---|
| Public | 39 | 28% | 44% | 31% | 13% | 11 |
| Late-stage private | 45 | 13% | 38% | 49% | 27% | 8 |
| Growth | 46 | 7% | 41% | 48% | 26% | 10 |
| Early or bootstrapped | 46 | 0% | 26% | 65% | 37% | 6 |
What the choices say about the category
SaaS type is solving the same brief again and again: look modern, read well in a dense interface, and stay out of the way of the product screenshot. A clean sans answers all three, which is why so many homepages look alike before anyone reads a word.
Inter is the default because it earns it. It is free, it holds up at small sizes, and most product interfaces are already built in it. But a typeface a quarter of your category also uses can't do much to set you apart. The companies that use type as identity spend on it: public companies commission families with their own name on them, growth-stage brands license a distinctive retail face, and early companies mostly don't make a type decision at all.
How to choose
- Split the jobs. A workhorse for the interface and body copy, a distinctive face for headlines.
- If you use Inter, own the rest. Pair it with a heading family nobody in your space uses.
- License before you commission. A retail face from an independent foundry costs a fraction of a custom one.
- Read the licence for web and app. They are often separate, and priced by views or installs.
- Ship fewer files. One variable font per family, self-hosted and subset, with only the first face preloaded.
Working through this for your own product? Here's how we approach brand identity, and what typography covers in a brand system.
How we did it
We started from the 110 companies in our AI search readiness audit and added 90 more, chosen by hand to fill out stages and categories that were thin: more public companies, more vertical, support, finance and AI-native products, and more bootstrapped tools.
For each homepage a script fetched the HTML the server sends and the stylesheets it links, one request at a
time per site, with a capped number and size of stylesheets, no JavaScript and a user agent that names us.
It read every @font-face rule, font-family declaration, Google Fonts and Adobe Fonts link and
preloaded font file, then worked out the family on the first H1 and on the first real paragraph, following
CSS variables and an approximation of the cascade. We recorded font file names, never the files.
18 homepages refused our labelled request or rate-limited it, and on 6 more the font was set in a way the script could not follow without running JavaScript, which leaves 176. We checked the script against a real browser on 30 randomly drawn homepages it had not been tuned on: 55 of 60 heading and body families matched (92%). Family names were normalised (Inter Variable counts as Inter), and licence labels come from a hand-kept list with the evidence for each, plus the Google Fonts catalogue. One snapshot, fetched on 18 October 2026 from India.