May 26th, 2025
I’m constantly building side-projects. So what does every side project need? You guessed it — a banger font (or seven).
(Your latest SaaS also needs users, but… fonts are fun 😅)
I got sick of hunting around Google Fonts for fonts I liked, so I’ve compiled this list of my favorite SaaS fonts.
These fonts are great for landing pages, particularly headings. I’m sure they’d also work well for body text under the right conditions, but I’m typically far less adventurous there and just stick with Inter (or even ui-sans-serif
).
Each section below is styled in its font. They each link to their Google Fonts page, and at the end, I’ve included a drop-in block of CSS @imports so you can easily test all these fonts at once.
Mona Sans, a SaaS font worth trying.
View Mona Sans on Google FontsPlayfair Display, a SaaS font worth trying.
View Playfair Display on Google FontsPoppins, a SaaS font worth trying.
View Poppins on Google FontsArchivo, a SaaS font worth trying.
View Archivo on Google FontsLora, a SaaS font worth trying.
View Lora on Google FontsDM Sans, a SaaS font worth trying.
View DM Sans on Google FontsPoetsen One, a SaaS font worth trying.
View Poetsen One on Google FontsI couldn’t help myself! These fonts deserve an honorable mention: Inter because, well, it’s Inter. What more do you need me to say?
JetBrains Mono because it’s a great monospaced font, and it rounds out the full spectrum of fonts in this article.
Inter, a SaaS font worth trying.
View Inter on Google FontsJetBrains Mono, a SaaS font worth trying.
View JetBrains Mono on Google FontsHere’s a code block you can drop into your main CSS file. It imports all the fonts from this article in one go.
This makes it easy to test out each font. Once you’ve decided on a few to keep, make sure to remove the rest (to save bandwidth for your users):
@import url("https://fonts.googleapis.com/css2?family=Mona+Sans:ital,wght@0,200..900;1,200..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400..900;1,400..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Archivo:ital,wght@0,100..900;1,100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400..700;1,400..700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Poetsen+One&display=swap");
/* bonus fonts below */
@import url("https://fonts.googleapis.com/css2?family=JetBrains+Mono:ital,wght@0,100..800;1,100..800&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap");
I’ve written separately about how to import custom fonts into Tailwind CSS, which you might find handy.