Banning Inter: Why Font Defaults Are the Slop Tell
Inter, Roboto, Arial, Space Grotesk — the fonts models default to and why they read as AI-generated. What committed type pairing looks like instead.
You can spot an AI-built site in under a second, and most of the time you don't even read the words. It's the font. Inter, set in the same three weights, on the same purple-to-white gradient, with four cards in a grid. That typeface has become the visual signature of "a model wrote this and nobody intervened." It's not that Inter is bad — it's that Inter is everywhere the agent goes by default, and default is the tell.
Here's the thing nobody says out loud: the model isn't choosing Inter because it's right for your product. It's choosing Inter because Inter is the statistical center of every modern UI in its training data. The model ships the median, and the median typeface is dead on arrival. If you want your work to read as built by someone with taste, the very first override — before color, before layout, before a single line of CSS — is the font.
Key Takeaways
- Inter is the #1 slop tell. Roboto, Arial, and Space Grotesk follow close behind. They're not wrong, they're unchosen — the model's safe center, not a decision.
- Models default to safe, not appropriate. A typeface is a brand decision. The agent has no brand, so it reaches for the most-trained-on option, which is the most generic option.
- Real type pairing is a deliberate contrast. A display face with personality, paired with a workhorse body face, in a clear hierarchy — that's what senior work looks like.
- A skill bans the defaults before code. frontend-design from Anthropic explicitly forbids the median fonts and forces a committed choice. It overwrites the model's taste up front.
- Taste is still yours. The skill gets you to "senior-looking by default." Knowing whether your product wants editorial warmth or technical precision — that judgment stays with you.
Why Models Default to Inter
A coding agent generating a UI has no opinion about your brand because it has no brand. When asked to "build a landing page," it does what a base model always does under uncertainty: it regresses to the mean. And the mean of every clean, modern, well-regarded interface in its training set is a neo-grotesque sans-serif — Inter, Roboto, or system-ui — at 16px, weight 400, line-height 1.5.
That's a reasonable default and a terrible differentiator. Reasonable, because Inter genuinely is a well-made, legible typeface; you will never get a complaint that it's hard to read. Terrible, because the moment your font is the same font as ten thousand other agent-built pages, the typography stops communicating anything about you. It communicates "generated." The safety that makes Inter the model's pick is exactly what makes it slop in context.
Space Grotesk deserves a special callout because it's the model's idea of "edgy default." When an agent wants to look a little more designed, it reaches for Space Grotesk and calls it a day. It has become its own cliché — the tell that someone asked for "modern and distinctive" and accepted the first distinctive-sounding answer.
The Default → Slop → Committed Table
The fix isn't memorizing a list of "good fonts." It's understanding why each default reads as unchosen, and what a committed pairing looks like in its place. Here's the map:
| Default font | Why it reads as slop | A committed alternative pairing |
|---|---|---|
| Inter | The statistical center of every modern UI; zero brand signal | Display: Fraunces or Instrument Serif / Body: Geist or IBM Plex Sans |
| Roboto | Android-system default; reads as "no choice was made" | Display: Clash Display / Body: Satoshi |
| Arial / Helvetica | The fallback of fallbacks; corporate-1998 neutrality | Display: Editorial New / Body: Söhne or Inter Tight (tightened, intentional) |
| Space Grotesk | The model's "edgy default"; now its own cliché | Display: Monument Extended / Body: General Sans |
| Open Sans | Bootstrap-era default; signals template, not product | Display: Boska / Body: Switzer |
Notice the shape of every committed row: a display face with a point of view for headings, paired with a clean, hardworking body face for everything else. The contrast between the two is the design. A single neutral sans across the whole page is the absence of a design.
What Real Type Pairing Looks Like
Good typography is a relationship, not a font. You pick two faces that disagree in the right way — usually a high-contrast or characterful display face against a calm, legible body face — and you let the disagreement create hierarchy. The display face carries the personality; the body face does the reading work. When they're chosen on purpose, a visitor feels the intent before they parse a word.
The other half is restraint. Median output uses one font in three weights and calls the type scale done. Committed typography uses a real scale (a clear jump from body to subhead to headline), deliberate line-height per role (tight on display, comfortable on body), and tracking that's actually tuned — negative on big display text, default on body. None of this is exotic. It's just decided, and decided is the opposite of slop.
How frontend-design Bans the Defaults
This is where a skill earns its keep. frontend-design — Anthropic's design skill — is a plain SKILL.md that loads into Claude Code and rewrites the agent's default taste before it generates anything. Among its rules: an explicit ban on the median fonts. The agent isn't allowed to reach for Inter, Roboto, Arial, or Space Grotesk as a reflex. It's forced to make a real type decision instead.
Install it directly from the Anthropic skills repo:
npx skills add anthropics/skills --skill frontend-design
Once it's loaded, the same "build me a landing page" prompt produces a different result — the agent commits to a typeface pairing with a point of view because the skill won't let it settle for the center. You can stack it with the taste skill, which sharpens the agent's broader design judgment so the font choice sits inside a coherent whole rather than being one good decision surrounded by median ones.
A useful way to prompt once the skills are loaded:
"Build the marketing hero. Pick a committed type pairing — a display
face with personality for the headline, a clean workhorse for body.
No Inter, Roboto, Arial, or Space Grotesk. State the pairing and why
it fits the product's tone before you write any CSS."
The skill makes the first answer a senior one. Your job is the judgment underneath it — whether this product wants Fraunces' editorial warmth or Monument's brutalist confidence. The skill removes the slop floor; you still set the ceiling.
Frequently Asked Questions
Is Inter actually a bad font?
No — Inter is excellent, which is exactly why it became the default. The problem isn't the typeface's quality, it's its ubiquity in agent output. When every generated page uses the same face, that face stops signaling craft and starts signaling "generated." Inter as a deliberate choice for a technical product can be right; Inter as the model's reflex is the tell.
Why does the model keep reaching for these specific fonts?
Because they're the statistical center of its training data. Inter, Roboto, and system fonts dominate modern, well-regarded interfaces, so a model regressing to the mean under uncertainty lands on them. It's not taste — it's the absence of a brand opinion. A skill like frontend-design supplies the opinion the model lacks.
Do I need to know typography to pick a good pairing?
Less than you'd think. The pattern is simple: one characterful display face for headings, one clean body face for reading, with a real scale between them. The committed alternative table above gives you working pairings to start from. Knowing which pairing fits your product's tone is the judgment part — and that improves fast once you stop accepting the default.
Can't I just change font-family myself afterward?
You can, but you'll be fighting the rest of the median output too — the generic scale, the flat hierarchy, the default tracking. A skill changes the whole generation, not just one CSS property. You get a committed system, not a font swap bolted onto slop. That's the difference between editing output and overwriting the model's defaults.
How does this fit with a full design system?
Fonts are one layer. Pair font discipline with the broader Designs category systems and the sibling AI Design Systems series, which covers tokens, color, and spacing as portable files. Typography is the fastest single tell to kill, but it sits inside a larger stack — and the stack is what makes work look unmistakably built rather than generated.
Kill the font tell first, then the rest of the stack — start in the Designs category, or explore the full skill catalog at aiskill.market.