Tailwind Gray
All 11 shades with hex codes — and, for each one, whether you can actually put text on it.
gray-500
lightest shade that passes AA for body text on white — 4.83:1
Body copy at 4.83:1
✓ gray-500 clears 3:1 for borders and icons on white
✓ gray-400 is the darkest that passes AA on black
Every shade links to its full contrast report on white.
Shades, hex codes and contrast
| Shade | Hex | On white | On black | APCA Lc | Body text on white |
|---|---|---|---|---|---|
gray-50 |
#F9FAFB |
1.05:1 | 20.10:1 | 0 | ✕ fails |
gray-100 |
#F3F4F6 |
1.10:1 | 19.08:1 | 0 | ✕ fails |
gray-200 |
#E5E7EB |
1.24:1 | 16.96:1 | 11 | ✕ fails |
gray-300 |
#D1D5DB |
1.47:1 | 14.25:1 | 21 | ✕ fails |
gray-400 |
#9CA3AF |
2.54:1 | 8.27:1 | 47 | ✕ fails |
gray-500 |
#6B7280 |
4.83:1 | 4.34:1 | 70 | ✓ AA |
gray-600 |
#4B5563 |
7.56:1 | 2.78:1 | 83 | ✓ AAA |
gray-700 |
#374151 |
10.31:1 | 2.04:1 | 90 | ✓ AAA |
gray-800 |
#1F2937 |
14.68:1 | 1.43:1 | 99 | ✓ AAA |
gray-900 |
#111827 |
17.74:1 | 1.18:1 | 102 | ✓ AAA |
gray-950 |
#030712 |
20.13:1 | 1.04:1 | 105 | ✓ AAA |
How to read this
- 4.5:1 is the WCAG 2.2 minimum for body text (1.4.3). 7:1 is AAA.
- 3:1 is the minimum for large text and for non-text things you have to see — borders, icons, focus rings (1.4.11).
- APCA Lc is a perceptual model that weights dark-on-light differently from light-on-dark. It disagrees with the ratio often enough to be worth reading; Lc 60 is roughly body-text territory, Lc 75 comfortable.
- Tailwind's gray sits closest to the colour name Slate at its 500 stop.
Other Tailwind colours
Slate
#64748B
Zinc
#71717A
Neutral
#737373
Stone
#78716C
Red
#EF4444
Orange
#F97316
Amber
#F59E0B
Yellow
#EAB308
Lime
#84CC16
Green
#22C55E
Emerald
#10B981
Teal
#14B8A6
Cyan
#06B6D4
Sky
#0EA5E9
Blue
#3B82F6
Indigo
#6366F1
Violet
#8B5CF6
Purple
#A855F7
Fuchsia
#D946EF
Pink
#EC4899
Rose
#F43F5E
Need a gray that is yours, not Tailwind's
Paste a brand hex and get an 11-stop OKLCH ramp built around it, with every pairing checked before you ship.
Open ColorsMine