Accessible · Preview · By Platform
| Platform | Body Text | Small/Captions | Headings |
|---|---|---|---|
| Desktop Web | 16px minimum | 12px min | 24-32px |
| Mobile Web | 16px (prevents zoom) | 12px min | 20-28px |
| iOS App | 17pt (Dynamic Type) | 13pt min | 22-34pt |
| Android App | 16sp | 12sp min | 20-34sp |
| 10-12pt | 8pt min | 14-24pt | |
| Presentations | 24pt minimum | 18pt min | 36-44pt |
| Use Case | Recommended |
|---|---|
| Body text | 1.5-1.6 (150-160%) |
| Headings | 1.1-1.3 |
| Large blocks of text | 1.6-1.8 (more breathing room) |
| Buttons / UI | 1.0-1.2 |
| Rule | Why |
|---|---|
| Never use font-size below 12px | Unreadable for most users |
| Use relative units (rem, em) | Respects user's browser zoom settings |
| Don't disable zoom on mobile | Users with low vision need it |
| Left-align body text (not justified) | Justified creates uneven spacing |
| Max 75-80 characters per line | Longer lines are harder to track |
| Avoid all-caps for long text | Harder to read — use for short labels only |