Contraste entre deux couleurs HEX

Calculer contraste entre deux couleurs hex à partir des valeurs et hypothèses saisies.

Calculer contraste entre deux couleurs hex à partir des valeurs et hypothèses saisies.

Vos saisies restent dans votre navigateur. Les résultats affichés sont arrondis à 12 chiffres significatifs au maximum.

Méthode et hypothèses

Version de méthode 1.0.0 · Mise à jour

Calculer

Formule: (L_claire + 0,05) / (L_foncée + 0,05), luminance sRGB

Calculer contraste entre deux couleurs hex à partir des valeurs et hypothèses saisies.

color1
Couleur de texte (#HEX)
color2
Couleur de fond (#HEX)

Les résultats dépendent des hypothèses saisies ; vérifiez séparément toute décision professionnelle ou liée à la sécurité.

Reproduire le calcul en code

Ces exemples utilisent les mêmes entrées et le même calcul de base que cet outil. Adaptez la validation et le formatage à votre application.

JavaScript
const luminance = rgb => rgb.map(c => c <= .04045 ? c/12.92 : ((c+.055)/1.055)**2.4).reduce((s,c,i)=>s+c*[.2126,.7152,.0722][i],0);
const ratio = (1 + .05) / (luminance([0,0,0]) + .05);
console.log(ratio); // 21 for black on white
TypeScript
const luminance = (rgb: number[]) => rgb.map(c => c <= .04045 ? c/12.92 : ((c+.055)/1.055)**2.4).reduce((s,c,i)=>s+c*[.2126,.7152,.0722][i]!,0);
console.log((1.05)/(luminance([0,0,0])+.05)); // 21
Python
def lum(rgb):
    c = [v/12.92 if v <= .04045 else ((v+.055)/1.055)**2.4 for v in rgb]
    return sum(x*w for x,w in zip(c, (.2126,.7152,.0722)))
print(1.05 / (lum((0,0,0)) + .05))  # 21:1 black/white
Java
double black = 0, white = 1;
System.out.println((white + .05) / (black + .05)); // 21:1 (black/white)
C#
double black = 0, white = 1;
Console.WriteLine((white + .05) / (black + .05)); // 21:1 black/white