Sélecteur de couleur : le code exact d’une couleur dans une image ou à l’écran
Avec ce sélecteur de couleur, prélevez un pixel dans une photo, une capture ou sur votre écran et copiez-le en HEX, RGB, HSL ou OKLCH, puis créez des nuances, des palettes et des paires de couleurs au contraste sûr. Vos images restent sur votre appareil.
Sélecteur de couleur
Choisir une couleur
Collez n’importe quel format : HEX (3, 4, 6 ou 8 chiffres), rgb(), hsl(), hsv(), oklch(), cmyk() ou un nom de couleur CSS.
Couleur actuelle
- HEX
- RGB
- HSL
- HSV / HSB
- OKLCH
- CMYK ≈
Ici, le CMYK est la simple formule depuis le RGB, pas un profil d’impression (ICC) : demandez une épreuve à votre imprimeur avant un tirage.
Prélever une couleur dans une image
Votre image est lue uniquement dans cet onglet du navigateur. Elle n’est jamais téléversée ni envoyée où que ce soit.
Déposez une image ici, collez-la (Ctrl+V / ⌘V) ou
PNG, JPEG, WebP, GIF, AVIF, BMP, SVG ; le HEIC fonctionne là où votre navigateur sait l’ouvrir. Jusqu’à 40 Mo.
Astuce : les pixels isolés des photos et des JPEG sont bruités — utilisez une moyenne 3×3 ou 5×5 pour une couleur de marque.
Couleurs dominantes
Votre palette
Rassemblez des couleurs depuis le sélecteur, l’image ou les nuanciers ci-dessous. Enregistrées uniquement dans ce navigateur.
Aucune couleur pour l’instant — appuyez sur « + Ajouter à la palette » ou « + Palette » après un prélèvement dans une image.
Tons clairs, tons foncés et tons grisés
Paliers de luminosité réguliers (OKLCH)
Même teinte et même chroma, luminosité par paliers égaux de 8 % — des paliers visuellement réguliers pour les palettes d’interface.
Tons clairs (mélangés avec du blanc)
Tons foncés (mélangés avec du noir)
Tons grisés (mélangés avec du gris)
Harmonies de couleurs
Complémentaire
Analogue
Triadique
Complémentaire divisée
Tétradique (rectangle)
Carré
Vérificateur de contraste (WCAG 2.2)
rapport de contraste
- AA · texte normal 4,5:1
- AA · grand texte 3:1
- AAA · texte normal 7:1
- AAA · grand texte 4,5:1
- Éléments d’interface & icônes 3:1
Texte normal — portez ce vieux whisky au juge blond qui fume.
Grand texte 24px
Bouton
Les WCAG comparent le rapport exact : 4,499:1 n’atteint pas 4,5:1. Grand texte = 24px, ou 18,5px en gras.
Utiliser cette couleur dans le code
Raccourcis clavier
- C Copier le HEX
- R Couleur aléatoire
- A Ajouter à la palette
- ←→↑↓ Déplacer les curseurs ou la pipette d’image (Maj = ×10)
- Entrée Prélever le pixel sous le curseur dans l’image
- Esc Fermer cette fenêtre
Ce sélecteur de couleur lit le pixel exact que vous pointez dans une image, ou n’importe où sur votre écran dans les navigateurs qui le permettent, et vous donne la couleur en HEX, RGB, HSL, HSV, OKLCH et en CMYK approximatif, avec l’alpha quand le pixel en a un. À partir de là, vous pouvez construire une rampe de nuances OKLCH, des tons clairs, des tons foncés et des harmonies de couleurs, rassembler plusieurs prélèvements dans une palette, vérifier le contraste du texte selon les WCAG et tout exporter en CSS, SCSS ou JSON. Votre image est décodée et échantillonnée dans votre navigateur ; elle n’est jamais téléversée.
Comment utiliser le sélecteur de couleur
- Chargez une image. Déposez un fichier, choisissez-en un ou collez une capture d’écran depuis le presse-papiers. PNG, JPEG, WebP, GIF, AVIF, BMP et SVG jusqu’à 40 Mo fonctionnent partout ; le HEIC seulement là où votre navigateur sait l’ouvrir, et un fichier qu’il ne sait pas ouvrir reçoit un message clair au lieu d’un écran vide. L’outil échantillonne le bitmap en pleine résolution, pas la copie réduite que vous voyez à l’écran. Seules les images de plus de 16,7 mégapixels sont lues à partir d’une copie réduite, et l’outil vous le signale. Il liste aussi les couleurs dominantes de l’image avec leur part.
- Visez avec la loupe. La loupe montre la grille de pixels autour du pointeur de la souris ou de votre doigt, pour que vous voyiez si vous êtes sur une zone unie ou sur un bord lissé. Au clavier, les touches fléchées déplacent le point de prélèvement d’un pixel (Maj : dix) et Entrée le prélève.
- Choisissez une taille d’échantillon. 1 pixel donne la valeur brute ; une moyenne 3×3 ou 5×5 lisse le bruit JPEG et le grain des photos. J’utilise 1 pixel pour les logos et les interfaces, une moyenne pour les photos.
- Ou prélevez à l’écran. Dans les navigateurs Chromium sur ordinateur (Chrome, Edge, Opera), le bouton pipette permet de cliquer sur n’importe quel pixel de votre affichage, même hors de la fenêtre du navigateur. Firefox et Safari n’ont rien de tel ; l’outil vous le dit et vous renvoie vers la voie de l’image.
- Ou saisissez un code. Collez
#1d4ed8(3, 4, 6 ou 8 chiffres),rgb(29 78 216),hsl(224 76% 48%), une valeurhsv(),oklch()oucmyk(), ou un nom de couleur CSS, et tous les autres formats se mettent à jour. Un interrupteur bascule la sortie entre le CSS moderne, séparé par des espaces, et l’ancienne syntaxe à virgules. - Rassemblez et exportez. Ajoutez vos prélèvements à la palette, enregistrée dans votre navigateur, puis copiez-la ou téléchargez-la en propriétés personnalisées CSS, en SCSS, en JSON ou en simple liste HEX.
HEX, RGB, HSL, HSV et OKLCH : quel code choisir
| Format | Valeur | Ce que signifient les nombres | Quand je l’utilise |
|---|---|---|---|
| HEX | #1D4ED8 | Rouge, vert, bleu en deux chiffres hexadécimaux chacun (00–FF). Avec 8 chiffres, l’alpha vient en dernier : #RRGGBBAA. | Transmettre une couleur à n’importe qui : Figma, CSS, chartes de marque. |
| RGB | rgb(29 78 216) | Les mêmes canaux en décimal, de 0 à 255. | Calculs sur les canaux dans le code ; la forme classique à virgules rgb(29, 78, 216) est à un interrupteur de distance. |
| HSL | hsl(224.3 76.3% 48%) | Angle de teinte, saturation, luminosité. Une transformation géométrique du RGB, pas une mesure perceptuelle. | Retouches rapides de la teinte à la main. |
| HSV / HSB | hsv(224.3 86.6% 84.7%) | Teinte, saturation, valeur (luminosité). Ce n’est pas une fonction CSS. | Retrouver le carré de sélection de Photoshop ou de Figma. |
| OKLCH | oklch(48.82% 0.2172 264.38) | Luminosité perçue de 0 à 100 % (ou de 0 à 1), chroma d’environ 0 à 0,4, teinte de 0 à 360. | Design tokens, rampes de nuances, palettes accessibles. |
| CMYK | cmyk(87% 64% 0% 15%) | Répartition d’encre naïve, sans profil d’imprimante. | Un point de départ pour discuter avec un imprimeur, jamais une valeur d’impression définitive. |
L’OKLCH vient du module CSS Color niveau 4 et c’est la forme cylindrique de l’espace Oklab. Son axe L est conçu pour suivre la clarté apparente d’une couleur, ce que la luminosité HSL rate complètement. Le jaune pur et le bleu pur sont tous deux à L 50% en HSL, pourtant l’un est presque blanc pour l’œil et l’autre est sombre :
C’est pourquoi je construis chaque rampe de nuances en OKLCH : des paliers égaux en L paraissent égaux, d’une teinte à l’autre, et le contraste du texte devient bien plus prévisible.
Exemple détaillé : convertir #1D4ED8
De HEX à RGB. Découpez en paires et lisez chacune en base 16 :
De RGB à HSL. Ramenez à l’échelle de 0 à 1 : R = 0,1137, G = 0,3059, B = 0,8471. Max = 0,8471 (bleu), min = 0,1137, écart d = 0,7333.
S = d / (1 − |2L − 1|) = 0.7333 / 0.9608 = 0.7633 → 76.3%
H = 60° × ((R − G) / d + 4) = 60° × 3.7380 = 224.3° → hsl(224.3 76.3% 48%)
De RGB à HSV. V = max = 84,7 % ; S = d / max = 0,7333 / 0,8471 = 86,6 % ; la teinte est la même, 224,3°, donc hsv(224.3 86.6% 84.7%).
De RGB à CMYK. K = 1 − max(R, G, B) = 1 − 0,8471 = 15,3 % ; puis C = (1 − R − K) / (1 − K) = 86,6 %, M = 63,9 %, Y = 0 %, affiché cmyk(87% 64% 0% 15%). C’est de l’arithmétique simple, pas un profil d’encre.
De RGB à OKLCH. Chaque canal est linéarisé (on annule la courbe gamma sRGB), converti en Oklab par deux matrices fixes avec une racine cubique entre les deux, puis a et b deviennent la chroma et la teinte. Le résultat est oklch(48.82% 0.2172 264.38), que le CSS accepte aussi sous la forme oklch(0.4882 0.2172 264.38). La teinte OKLCH (264°) diffère de la teinte HSL (224°) parce que les roues chromatiques sont construites différemment.
Pourquoi une couleur prélevée peut s’écarter de quelques unités
Deux personnes qui prélèvent la même couleur de marque peuvent obtenir #1D4ED8 et #1E4FD6 sans que l’un des outils se trompe :
- La compression JPEG stocke la couleur à résolution réduite et par blocs de 8×8, si bien que des pixels voisins dans une zone unie varient de quelques unités. Si neuf valeurs de rouge donnent 27, 29, 31, 28, 30, 29, 26, 32, 29, leur moyenne est 261 ÷ 9 = 29, la valeur que le graphiste a très probablement utilisée.
- Les captures d’écran redimensionnées mélangent les pixels. Une capture Retina réduite de moitié mélange chaque bloc de 2×2, si bien que le texte fin et les bords deviennent des couleurs intermédiaires.
- L’anticrénelage sur les bords et le texte crée des pixels de transition qui n’appartiennent à aucune des deux couleurs. Prélevez au milieu d’un aplat, jamais sur la bordure.
- La pipette d’écran renvoie ce qui est affiché, après la gestion des couleurs et des fonctions comme Night Shift ou True Tone, et elle donne un HEX sRGB. La valeur du fichier peut différer ; pour des valeurs exactes, prélevez dans l’image elle-même.
Transparence. Dans #1D4ED880, la dernière paire est l’alpha : 80 en hexadécimal = 128, et 128 ÷ 255 = 0,502, soit environ 50 % d’opacité. En CSS, l’alpha vient en dernier ; l’ARGB d’Android le place en premier, une confusion fréquente. Ce que vous voyez dépend du fond : sur du blanc, chaque canal devient 0,502 × couleur + 0,498 × 255, ce qui donne à peu près #8EA6EB. L’outil conserve l’alpha des PNG, WebP et autres formats qui en ont, et vous prévient quand le pixel prélevé n’est pas totalement opaque. Un pixel entièrement transparent est signalé comme transparent au lieu d’être pris à tort pour du noir, et les moyennes sont pondérées par l’alpha pour que les pixels translucides n’entraînent pas le résultat vers le noir.
Tons clairs, tons foncés et palettes
Classiquement, un ton clair est une couleur mélangée avec du blanc, un ton foncé une couleur mélangée avec du noir et un ton grisé une couleur mélangée avec du gris. Un mélange en RGB donne des paliers inégaux ; la rampe de l’outil conserve donc la teinte et la chroma en OKLCH et fait varier la luminosité en dix paliers égaux, de L 96 % à 24 %, en réduisant la chroma seulement quand une couleur sortirait du gamut sRGB ; le palier le plus proche de votre couleur est repéré. Les rangées de tons clairs, de tons foncés et de tons grisés sont de simples mélanges sRGB avec du blanc, du noir et du gris moyen par paliers de 10 %, pratiques pour des états de survol et de désactivation rapides. Vous pouvez copier la rampe en variables CSS ou poursuivre directement en CSS avec la syntaxe de couleur relative, par exemple oklch(from var(--brand) calc(l + 0.15) c h).
Pour chaque couleur, l’outil nomme aussi la plus proche parmi les 148 couleurs nommées CSS, toutes en sRGB, en mesurant la distance dans l’espace OKLab, et vous dit si la correspondance est exacte (#663399 est exactement rebeccapurple, #808080 est gray, aussi écrit grey) ou seulement la plus proche (#1D4ED8 est le plus proche de royalblue).
Six harmonies de couleurs sont construites par rotation de la teinte : complémentaire, analogue, triadique, complémentaire divisée, tétradique et carré. Le tétradique est ici le rectangle (+60°, +180°, +240°), qui n’est pas le carré (+90°, +180°, +270°). Pour #1D4ED8, le complément est #D8A71D, la deuxième couleur tétradique est #A71DD8 et la deuxième couleur du carré est #D81DAC. Chaque jeu se copie en variables CSS.
Vérifier le contraste selon les WCAG
Le rapport de contraste WCAG vaut (L1 + 0,05) / (L2 + 0,05), où L1 est la luminance relative de la couleur la plus claire et L2 celle de la plus sombre. La luminance vaut 0,2126 R + 0,7152 G + 0,0722 B sur les canaux sRGB linéarisés, ce qui explique que le vert compte dix fois plus que le bleu.
- AA : 4,5:1 pour le texte normal, 3:1 pour le grand texte (au moins 18 pt, ou 14 pt en gras).
- AAA : 7:1 pour le texte normal, 4,5:1 pour le grand texte.
- Contraste des éléments non textuels pour les icônes, les bordures de champs et les anneaux de focus : 3:1.
Les WCAG précisent que le rapport calculé ne doit pas être arrondi : 4,499:1 échoue donc à 4,5:1. Le cas classique, ce sont deux gris voisins sur du blanc. Pour #767676 : 76 en hexadécimal = 118, 118 ÷ 255 = 0,4627, linéarisé ((0,4627 + 0,055) / 1,055)^2,4 = 0,1812, rapport 1,05 / 0,2312 = 4,54:1. Pour #777777 : valeur linéaire 0,1845, rapport 1,05 / 0,2345 = 4,48:1.
Le vérificateur de l’outil utilise exactement cette formule. Il affiche le rapport, cinq pastilles conforme ou non conforme (AA et AAA pour le texte normal et le grand texte, plus 3:1 pour les éléments d’interface et les icônes), une jauge et un aperçu en direct. Le rapport a deux décimales, mais quand l’arrondi franchirait un seuil, il en montre trois : #007BC8 sur blanc s’affiche donc 4,499:1 et échoue, au lieu d’un trompeur 4,50. Le texte semi-transparent est mélangé au fond avant la mesure. Quand une paire échoue à l’AA, l’outil propose la couleur conforme la plus proche : il garde la teinte et la chroma OKLCH et ne déplace que la luminosité, si bien que #777777 sur blanc devient #767676.
Notre bleu d’exemple #1D4ED8 sur blanc donne 6,70:1 : suffisant pour le texte courant en AA, mais en dessous de l’AAA. Dans mon propre travail, je vise 4,5:1 pour tout texte, même les grands titres, parce que la marge couvre les écrans bon marché et les pièces très lumineuses.
Comment fonctionne le sélecteur de couleur et comment il est vérifié
Les images sont décodées dans un canvas sur votre appareil et lues pixel par pixel ; rien n’est envoyé à un serveur, et votre palette (jusqu’à 48 couleurs) ne vit que dans votre navigateur. La pipette d’écran utilise l’API EyeDropper, qui exige une page sécurisée (HTTPS) et un clic pour démarrer, et ne fonctionne que dans les navigateurs basés sur Chromium ; dans Firefox et Safari, passez par l’image. Les conversions suivent les formules de CSS Color 4 pour sRGB, HSL, HSV et OKLCH. Les valeurs ne sont arrondies que pour l’affichage (HSL et HSV à une décimale ; luminosité OKLCH en pourcentage à deux décimales, chroma à quatre et teinte à deux) ; la conformité du contraste est décidée sur le rapport non arrondi. Le CMYK utilise la formule simple K = 1 − max(R, G, B) sans profil ICC : considérez-le comme approximatif.
| Entrée | Résultat attendu |
|---|---|
#1D4ED8 | rgb(29 78 216), hsl(224.3 76.3% 48%), hsv(224.3 86.6% 84.7%), oklch(48.82% 0.2172 264.38), cmyk(87% 64% 0% 15%), nom le plus proche royalblue |
#4169E1, #808080 | noms exacts royalblue et gray (aussi grey) ; les 148 noms CSS donnent le bon HEX |
#8B5CF6, #0E9F6E | noms les plus proches mediumslateblue et seagreen ; #0E9F6E = oklch(62.22% 0.1333 162.27) |
#1D4ED880 | rgb(29 78 216 / 50.2%) ; ancienne forme rgba(29, 78, 216, 0.502) |
Rampe OKLCH de #1D4ED8 | L 96 % #EBF2FF, L 48 % #1B4BD5 (repéré comme le plus proche), L 24 % #01006C |
Ton clair, ton foncé et ton grisé à 50 % de #1D4ED8 | #8EA7EC, #0F276C, #4F67AC |
Harmonies de #1D4ED8 | complémentaire #D8A71D ; triadique #D81D4E et #4ED81D ; tétradique (+60°) #A71DD8 ; carré (+90°) #D81DAC |
#777777 sur #FFFFFF | 4,48:1, échoue à l’AA pour le texte normal, passe pour le grand texte et l’interface ; suggestion #767676 |
#767676 sur #FFFFFF | 4,54:1, conforme AA, aucune suggestion nécessaire |
#007BC8 sur #FFFFFF | 4,499:1 affiché non arrondi, échoue à l’AA |
#1D4ED8 sur #FFFFFF | 6,70:1, conforme AA, non conforme AAA pour le texte normal |
#1D4ED880 sur #FFFFFF | d’abord mélangé en #8EA6EB, 2,39:1 |
| Image de test : 1 px, moyennes 3×3 et 5×5, pixels transparents et semi-transparents, touches fléchées, tactile | les valeurs correspondent à celles calculées à la main ; aucune requête réseau |
Aller plus loin
Guides sur la couleur (en anglais)
Questions fréquentes sur le sélecteur de couleur
Comment trouver le code HEX d’une couleur dans une image ?
Déposez ou collez l’image dans le sélecteur de couleur, déplacez la loupe sur une zone unie et cliquez. Le code HEX s’affiche avec le RGB, le HSL et l’OKLCH ; pour les photos et les JPEG, passez à une moyenne 3×3 ou 5×5 afin que le grain ne fausse pas la valeur.
Pourquoi la pipette d’écran ne fonctionne-t-elle pas dans Firefox ou Safari ?
Elle repose sur l’API EyeDropper, que seuls les navigateurs basés sur Chromium comme Chrome, Edge et Opera prennent en charge, et uniquement sur les pages HTTPS. Dans les autres navigateurs, l’outil vous le dit ; faites une capture d’écran et prélevez dans l’image.
Mon image est-elle téléversée ?
Non. L’image est décodée et lue dans votre navigateur et ne quitte jamais votre appareil. Les palettes enregistrées ne sont conservées que dans le stockage local de votre navigateur.
Faut-il utiliser l’OKLCH plutôt que le HSL ?
Pour les palettes et les design tokens, oui. La luminosité OKLCH correspond à la clarté apparente des couleurs : des paliers égaux donnent des nuances régulières d’une teinte à l’autre, alors que le HSL attribue la même luminosité de 50 % au jaune pur et au bleu pur. Il est pris en charge par tous les grands navigateurs actuels.
Pourquoi ma couleur prélevée diffère-t-elle légèrement de la couleur de la marque ?
La compression JPEG, les captures redimensionnées, les bords lissés et la gestion des couleurs de l’écran décalent chaque pixel de quelques unités. Faites la moyenne d’une zone unie de l’image, ou demandez les valeurs officielles de la marque.
4,48:1 est-il conforme au niveau AA des WCAG ?
Non. Les WCAG précisent que le rapport ne doit pas être arrondi : tout ce qui est inférieur à 4,5:1 échoue à l’AA pour le texte normal. Il passe en revanche le minimum de 3:1 du grand texte, soit au moins 18 pt, ou 14 pt en gras.
Mis à jour le · À propos du site