#D9E0D8 · #DEDFD5
Four independent scores (read the one that fits your goal): Readability 0/100 (fail) · Harmony 75/100 (analogous) · Distinguishable 10/100 (hard to tell apart) · Match 95/100 (near match). There is no single “good/bad” — a pair can clash for text yet be great for an outfit.
JuniperBreeze and Gainsboro are very close (ΔE 2). They have distinctly different hues (47° apart) and their lightness is similar, so they read as two same-weight colours.
JuniperBreeze text on Gainsboro: 1.00:1 (Fail); Gainsboro text on JuniperBreeze: 1.00:1 (Fail). Neither meets AA at body size — nudging one color to #5E645E clears it.
Analogous — analogous — a recognised, balanced pairing (harmony 75/100). This is about how they look together (clothing, interiors, branding), independent of text contrast.
Not at body size — the best direction is only 1.0:1, below the 4.5:1 minimum. Nudging one colour to #5E645E clears AA.
Their CIE76 ΔE is about 2 — very close.
a very near match (ΔE 2.4) — fine for most matching.
Explore each color: JuniperBreeze #D9E0D8 · Gainsboro #DEDFD5 · Shades: JuniperBreeze shades · Gainsboro shades · Contrast checker →