Image Color Picker
Drop in an image, click anywhere, and get the exact colour in hex, RGB, HSL and more. The dominant colours are extracted automatically, and the contrast check tells you whether black or white text will be readable on top. Your image is never uploaded.
· drop one here · or paste a screenshot
Never uploadedAny sizePalette extractedWorks offline
Common questions
- Is my image uploaded anywhere?
- No, and for this tool that matters more than most. The file is drawn onto a canvas inside this browser tab and read back pixel by pixel; nothing is transmitted. People sample colours from unreleased designs, private screenshots and client work, none of which should be sent to an unknown server just to read a hex code.
- How are the dominant colours chosen?
- Pixels are grouped into a coarse colour cube and counted, then each group's average is reported with its share of the image. Fully or nearly transparent pixels are skipped, because averaging them in produces a muddy grey that appears nowhere in the picture. It is a fast approximation, so a colour covering a small but important area may not appear; click it directly instead.
- What does the contrast figure mean?
- It is the WCAG contrast ratio between the picked colour and whichever of black or white reads better on it. 4.5:1 is the minimum for normal body text to meet WCAG AA, 3:1 for large text, and 7:1 for AAA. The ratio runs from 1:1 (identical) to 21:1 (black on white).
- Can I paste a screenshot instead of choosing a file?
- Yes. Copy a screenshot and paste anywhere on the page. That is usually the fastest route, since the image never has to be saved to disk first.
- Which formats can I copy the colour in?
- Hex, RGB, HSL, a CSS custom property, a Swift UIColor initialiser and an Android hex integer. The point is to paste straight into whatever you are building rather than converting by hand afterwards.
- Does it work with transparent PNGs and SVGs?
- Yes. Transparent areas are ignored when the palette is calculated so they do not skew the result, and clicking a transparent region returns the colour composited underneath it.
Colours are read from the image's actual pixel values, exactly as decoded. Two caveats worth knowing: a JPEG's compression may already have shifted the pixel from the original colour, and embedded colour profiles are not applied, so a wide-gamut image can read differently from how a colour-managed application shows it.