A beautiful typeface that nobody can read comfortably is a failed typeface. When you pick fonts for a website, an app, or a document, readability is not the boring constraint — it is the whole job. Here is a practical checklist I use before committing to a font.

1. Look at the x-height, not just the style

Two fonts set at the same 16px can look like completely different sizes. The reason is x-height: the height of lowercase letters like a, e, and x. Fonts with a generous x-height look larger and stay legible at small sizes, which is why they dominate body text on the web. When comparing candidates, set them at the same size and read a paragraph of real text, not just the alphabet. If you have to squint, the font is telling you something.

2. Check the characters people actually confuse

Readability breaks down on specific letters: capital I, lowercase l, and the digit 1; 0 versus O; rn that reads as m. Open apertures (the openings in c, e, and a) also help letters stay distinct at small sizes. A quick test: type "Il1 O0 rn" in the candidate font at 14px. If you cannot tell them apart instantly, your readers will struggle in passwords, codes, and data tables.

3. Size, line height, and line length do more than the font itself

Even the most readable typeface fails in a bad layout. As a starting point:

  • Body text at 16–18px, never below 14px for long-form reading.
  • Line height around 1.5–1.7, so lines do not crowd each other.
  • Line length around 45–75 characters, so the eye can find the next line without effort.

These three settings are free, and they often improve readability more than swapping fonts.

4. Contrast is part of typography

Light gray text on a white background might look elegant in a design mockup, but it is hard work for real eyes — especially on mobile in sunlight, and for readers with low vision. Aim for a contrast ratio of at least 4.5:1 for body text, and reserve low-contrast treatments for large headings or decorative elements that nobody needs to read to use the page.

5. Be careful with all-caps and long italics

All-caps text removes the word shapes our eyes use to recognize words quickly, so it reads measurably slower. It works for short labels and headings; it punishes paragraphs. Long passages in italic have a similar cost, particularly on screens. Use both sparingly, and never for instructions or error messages that people read under stress.

6. Test at the smallest size you will actually ship

Designers usually judge fonts at large display sizes, but readers meet them at 14px on a phone. Before you decide, preview the font at your real body size, in a real paragraph, on a real device. Check bold and regular weights separately — some fonts have a beautiful regular weight and a bold weight that turns to mush.

7. One font for reading, one for personality

You do not need five fonts to have character. A reliable pattern: one highly legible font for body text, and one more expressive font for headings. Keep the body font boring in the best sense — open, even, and quiet — and let the headings carry the mood.

Try before you commit

The fastest way to apply all of this is to preview candidates side by side in real paragraphs at your real sizes, instead of judging them from their specimen posters. You can browse and preview thousands of open fonts in the FontHubs font library (https://www.fonthubs.com/fonts) and check each one at small sizes before you download anything.

Good typography is invisible in the best way: readers forget about the font entirely and just keep reading. That is the test worth passing.