Eight rules for typography in software
The first one: stop using system fonts at 14px.
by Nephele K.
Software typography sits in an awkward spot — more constrained than print, more permissive than the web of 2008. The rules are old, but they get re-broken every year. Eight we use, none of them new, all of them being violated in production right now somewhere on a dashboard you'd recognize.
- Stop using system fonts at 14px — they were drawn for headings.
- The default line-height is wrong. Bodies want 1.5–1.7; UI wants 1.2–1.35.
- If you're using more than two type sizes, you're probably using too many.
- "Bold" is a rendering instruction, not a vibe — don't reach for it inside a paragraph.
- Letter-spacing is for SHOUTING and small caps. Not for body text. Not for headings, ever.
- Italics still work in 2026; they will continue to work. Use them for asides, citations, ship names — the same things they've been used for since Manutius.
- Numbers want their own font, or at minimum tabular figures. Tables of currency without them look drunk.
- Set your line lengths in characters, not pixels. 65ch is the only correct answer until proven otherwise.
None of this is opinion. All of it is being broken in production right now. Notice it once and you can't un-notice it. We don't pretend any of this is a competitive advantage; we pretend not having it is a tax.
The two columns above are the same five sentences. The left column is what you ship by default if you let your CSS reset and your system fonts decide. The right column is what you ship if you spend one engineer-afternoon picking a typeface, setting a line-height, and committing to a measure. The difference is not aesthetic — the right side reads about thirty percent faster in our internal stopwatch tests, and that's the whole product.
The thing we've been arguing internally lately: a UI that gets typography right at 75% of the rest is better than a UI that gets every other thing right at 95% with bad typography. Body copy is what users do most of. Get the body copy wrong and you're taxing every other interaction. Get it right and even your wrong decisions feel deliberate.
A note on numbers. Most UI fonts ship proportional figures by default. In any table where users compare two numbers stacked on top of each other — pricing, dashboards, financial summaries — turn on tabular figures. One CSS line. The before/after is the difference between "this looks like an Excel screenshot" and "this looks made with care."