How to Choose Fonts: A Practical Guide for Non-Designers
Updated
Most font advice is written for designers who already know what a grotesque is. This guide is for everyone else: the Etsy seller building a shop banner, the developer picking a UI font, the founder making a pitch deck. You do not need taste training. You need a repeatable method, and choosing fonts is more method than magic.
Step zero: check the license
Before aesthetics, confirm you are allowed to use the font. A font that is “free to download” is often licensed for personal use only, which excludes client work, products, monetized content, and most things worth doing. The details are in our guide to personal use vs commercial use.
The short version: fonts under the SIL OFL, Apache 2.0, UFL, MIT, or CC0 licenses are free for commercial use. Everything in the DaFontFonts catalog is verified against one of those licenses, so if you pick from here, step zero is already done.
Start from the job, not the aesthetic
The single biggest mistake non-designers make is browsing fonts like wallpaper: scrolling until something looks nice. Fonts are tools, and the first question is what job the font has to do.
Body fonts carry paragraphs: articles, product descriptions, app interfaces, documentation. They need to be invisible in the best sense, comfortable to read for minutes at a time at small sizes. Workhorse fonts like Inter, Source Sans 3, or Lora live here.
Display fonts carry short, large text: headlines, logos, posters, hero sections. They can be loud, decorative, and full of personality, because nobody reads a paragraph in them. Bebas Neue and Abril Fatface are display fonts; setting body copy in them is a mistake you will feel immediately.
Decide which job you are hiring for first. A font that is brilliant at one job is usually mediocre at the other, and “can this do both?” is the wrong question for most projects.
Legibility: three things to actually look at
You can evaluate legibility without a design degree by checking three concrete features.
X-height
The x-height is how tall the lowercase letters are relative to the capitals. Fonts with a larger x-height (like Inter or Open Sans) read more easily at small sizes because the part of the letter that does the work is bigger. Fonts with a small x-height (like Cormorant Garamond) look elegant large but get thin and fussy in paragraphs.
Aperture
Aperture is how open letters like c, e, a, and s are. Compare the “c” in two fonts: if the opening nearly closes into an “o,” the font will smudge at small sizes and low-quality screens. Open apertures keep letters distinct when conditions are bad, which is most of the time.
Glyph disambiguation
Type this string in any font you are considering: Il1 O0 rn m. Can you tell the capital I, lowercase l, and numeral 1 apart? Does “rn” read as “m”? For interfaces, forms, passwords, and anything with codes or numbers, this test is non-negotiable. It is why coding fonts like JetBrains Mono exaggerate these distinctions, and why some otherwise lovely fonts fail for UI work.
Match tone to the brand, with examples
Fonts carry tone the way voices do. You do not need to articulate why; you need to match the register of your project. Some concrete anchors from the catalog:
- Editorial elegance (magazines, wedding stationery, upscale brands): Playfair Display for headlines, with its high-contrast strokes, paired with a quiet body font. More options in wedding fonts.
- Product UI and modern tech (apps, dashboards, SaaS sites): Inter or Geist. Both were designed for screens first, with tall x-heights and disambiguated glyphs.
- Impact and headlines (posters, YouTube thumbnails, sports, sales): Bebas Neue or Anton. Tall, condensed, all-caps energy that fills space efficiently.
- Warm and human (crafts, food, personal brands): Caveat or Pacifico as accents, never for paragraphs.
- Trustworthy and traditional (law, finance, publishing): Merriweather or Libre Baskerville.
A quick sanity test: imagine your font on a competitor’s site in your industry. If it would look at home there, the tone is right. If it would look like a costume, keep looking. For logo-specific advice, the logo fonts collection is curated for exactly this.
How many fonts per project
Two. One display or heading font, one body font. This covers almost every website, deck, package, and shop.
A third font is justified only when it has a distinct functional role: a monospace font for code samples, a script for occasional accents on wedding stationery, a label font for diagrams. “I liked it too much to leave it out” is not a role.
One font can also be enough. A family with a good weight range, like Montserrat or Work Sans, can handle headings in bold and body in regular, and single-family designs are hard to get wrong. When you do want two fonts, pick them as a pair from the start; our font pairing guide covers how.
Test at real sizes, in real context
Font specimens lie. Every font looks good as a 96-pixel alphabet on a white page. Before committing:
- Paste your actual content. Your product name, your real headline, a genuine paragraph from your site. Fonts behave differently with your specific letters (a brand name with a “g” or “Q” can rule fonts out instantly).
- Test at final size. Body text at 16px on a phone, not 40px on a desktop preview. A headline at the size it will actually print.
- Test on the worst screen you can find. A cheap Android phone or an old office monitor reveals problems a Retina display hides.
- Print it if it will be printed. Screen previews do not show how thin strokes drop out on a home inkjet or a Cricut pen.
Ten minutes of testing with real content saves the far more expensive discovery that your chosen font falls apart after launch.
Check language support and weights before committing
Two practical checks that people skip and regret:
Weights. Confirm the family includes every weight you need: regular and bold at minimum, and ideally a medium or semibold for UI work. Some display fonts ship in a single weight (Bebas Neue, for example, has no true bold), which is fine for headlines but limiting if you expected a full family. Faking bold in software distorts letterforms and looks amateur.
Language and character support. If your content includes accented names, another language, currency symbols, or true small caps, verify the font covers them. A missing character gets silently swapped for a fallback font, and mixed fonts mid-word is one of the most visible quality failures there is. Every DaFontFonts font page lists supported subsets and available weights, so this check takes seconds.
The whole method in one list
- Verify the license (done automatically if you choose from a verified catalog).
- Name the job: body, display, or accent.
- Screen candidates for x-height, aperture, and the Il1 test.
- Match tone to your project using known anchors.
- Limit yourself to two fonts, three with a real reason.
- Test with real content at real sizes on bad screens.
- Confirm weights and language coverage.
Follow the steps in order and you will make better font choices than most people who trust their eye alone. Once you have your fonts, the next skill is combining them well, covered in Font Pairing: Rules That Actually Work.
Questions
How many fonts should I use in one project?
Two is the standard: one for headings, one for body text. A third is acceptable for a specific role like code or captions. Beyond three, projects almost always look messy.
What makes a font good for body text?
A generous x-height, open apertures, clearly distinct letterforms (check I, l, and 1), and a regular weight that holds up at 14 to 18 pixels. Test with a real paragraph, not a headline.
Should I check the license before or after choosing a font?
Before. There is no point falling in love with a font you cannot legally use. Every font on DaFontFonts is verified free for commercial use, so on this site the check is already done.