Image Colour Picker
Click any point on an image to read its exact colour as HEX, RGB and HSL, with contrast ratios and a correctly mapped source pixel.
Move the pointer to preview, click to keep. Kept colours are listed below.
#808080 reads better with black text (5.32:1) than with white (3.95:1), which a naive lightness-threshold rule gets wrong. WCAG asks for at least 4.5:1 for normal body text and 3:1 for large text, so the two contrast values above tell you directly whether a colour is usable as a background.How it works
- Choose an image, or drop one onto the box.
- Move the pointer over the image to preview a colour, then click to keep it.
- Every value is read from the pixels in your browser — the image is never uploaded.
Frequently Asked Questions
Does it pick the pixel I actually clicked?
Yes, and that is the hard part. An image on a page is almost never displayed at its natural size — CSS scales it, a high-density screen multiplies it again, and object-fit may letterbox or crop it. A picker that assumes screen coordinates equal image coordinates reports a neighbouring or completely wrong colour. Every click is mapped back to real source coordinates, and clicks that land on letterboxing rather than on the image are recognised as such.
What formats is the colour given in?
HEX, HEX with alpha, CSS rgb() and CSS hsl(), plus HSV. Alpha is reported when the pixel is not fully opaque — including the alpha in the hex as the LAST pair, which is the CSS convention rather than the Android one.
What are the contrast ratios for?
Accessibility. The WCAG contrast ratio against both white and black is shown, plus which of the two makes readable text on that colour. The calculation applies the required gamma expansion — averaging sRGB values directly overestimates dark colours and produces ratios that claim to pass when they do not.
Is the image uploaded?
No. It is drawn to a canvas in your browser and read back locally. Neither the image nor its filename is transmitted.