ColorWell · contrast check
White or black text on #ff0000?
YouTube red
Use black text. It gives 5.25:1, which passes AA, not AAA.
White text
4:1
passes AA for large text only (18pt+/14pt bold)
Black text
5.25:1
passes AA, not AAA
What the thresholds mean
| Level | Needs | White text | Black text |
|---|---|---|---|
| AA, normal text | 4.5:1 | fail | pass |
| AA, large text (18pt+/14pt bold) | 3:1 | pass | pass |
| AAA, normal text | 7:1 | fail | fail |
If you need the other one to pass
Same hue, moved along the lightness ramp until the ratio clears AA.
- For white text, use
#c80000— 6.08:1
The colour itself
- Hex:
#ff0000 - RGB:
255, 0, 0 - Oklch:
62.8% 0.258 29
Shade ramp
#ffccba #ffae99 #ff8671 #ff5240 #f90000 #c80000 #990000 #6c0000 #420000
Paste this into your config
// tailwind.config.js
colors: {
brand: {
100: "#ffccba",
200: "#ffae99",
300: "#ff8671",
400: "#ff5240",
500: "#f90000",
600: "#c80000",
700: "#990000",
800: "#6c0000",
900: "#420000",
},
}Text colour to pair with the 500 shade (#f90000): black, at 5.03:1. For #ff0000 itself it is black, at 5.25:1.
Your own colours, the same way
Paste any hex and get this page for it live — ratio, verdict, ramp. Export the whole palette to CSS variables, a Tailwind config or Figma tokens when you want it in the project rather than on the screen.
Open ColorWellOther colours
- text on #ef4444 Tailwind red-500
- text on #f97316 Tailwind orange-500
- text on #f59e0b Tailwind amber-500
- text on #eab308 Tailwind yellow-500
- text on #84cc16 Tailwind lime-500
- text on #22c55e Tailwind green-500
- text on #10b981 Tailwind emerald-500
- text on #14b8a6 Tailwind teal-500
- text on #06b6d4 Tailwind cyan-500
- text on #0ea5e9 Tailwind sky-500
- text on #3b82f6 Tailwind blue-500
- text on #6366f1 Tailwind indigo-500