CColorWell
Get ColorWell

ColorWell · contrast check

White or black text on #595959?

the AAA boundary grey on white

Use white text. It gives 7:1, which passes AAA (and AA).

White text
7:1
passes AAA (and AA)
Black text
3:1
passes AA for large text only (18pt+/14pt bold)

What the thresholds mean

LevelNeedsWhite textBlack text
AA, normal text4.5:1passfail
AA, large text (18pt+/14pt bold)3:1passpass
AAA, normal text7:1passfail

If you need the other one to pass

Same hue, moved along the lightness ramp until the ratio clears AA.

The colour itself

Shade ramp

#f2f2f2 #dedede #c4c4c4 #a4a4a4 #808080 #636363 #484848 #2e2e2e #161616

Paste this into your config

// tailwind.config.js
colors: {
  brand: {
    100: "#f2f2f2",
    200: "#dedede",
    300: "#c4c4c4",
    400: "#a4a4a4",
    500: "#808080",
    600: "#636363",
    700: "#484848",
    800: "#2e2e2e",
    900: "#161616",
  },
}

Text colour to pair with the 500 shade (#808080): black, at 5.32:1. For #595959 itself it is white, at 7: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 ColorWell

Other colours