---
title: "Too many distinct font sizes (no type scale) (design/no-type-scale)"
description: "design/no-type-scale: A dozen ad-hoc sizes make hierarchy mushy. Define a modular or fluid type scale as tokens (--text-xs … --text-display) and use only…"
canonical: https://void-design.vercel.app/rules/design/no-type-scale
lastModified: 2026-09-16
---

# Too many distinct font sizes (no type scale)

`design/no-type-scale` · severity **warn** · category Design · detected by `void design` and `void audit`

## Why it matters

A dozen ad-hoc sizes make hierarchy mushy. A deliberate scale (6-8 steps) is the fastest way to look designed.

## How to fix it

Define a modular or fluid type scale as tokens (--text-xs … --text-display) and use only those.

## Example

```
--text-sm: 0.875rem; --text-base: 1rem; --text-lg: 1.125rem; --text-2xl: clamp(1.5rem, 1.2rem + 1vw, 2rem);
```

## More design rules

`void design` reports 19 rules in this category. Measured design heuristics from computed styles: font families, type scale, line length, palette and accent sprawl, spacing grid, radius sprawl, dark mode and the tells of generated UI.

- `too-many-font-families` Too many font families — [design/too-many-font-families](https://void-design.vercel.app/rules/design/too-many-font-families)
- `line-length-long` Body text lines are too long — [design/line-length-long](https://void-design.vercel.app/rules/design/line-length-long)
- `line-length-short` Body text lines are very short on desktop — [design/line-length-short](https://void-design.vercel.app/rules/design/line-length-short)
- `body-text-small` Body text is smaller than 15px on mobile — [design/body-text-small](https://void-design.vercel.app/rules/design/body-text-small)
- `body-line-height-tight` Body line-height is too tight — [design/body-line-height-tight](https://void-design.vercel.app/rules/design/body-line-height-tight)
- `heading-tracking` Large headings use default letter-spacing — [design/heading-tracking](https://void-design.vercel.app/rules/design/heading-tracking)
- `heading-no-balance` Headings do not use text-wrap: balance — [design/heading-no-balance](https://void-design.vercel.app/rules/design/heading-no-balance)
- `palette-sprawl` Too many distinct colors — [design/palette-sprawl](https://void-design.vercel.app/rules/design/palette-sprawl)

Detected by `void design` and `void audit`. Explain it in a terminal: `void rules design/no-type-scale`
