Image Color Picker
Open or paste an image, hover to magnify and click any pixel to get its HEX, RGB, HSL and CMYK codes, or extract the image's dominant colour palette.
- Free
- No account
- Runs in your browser
- Nothing uploaded
Runs entirely in your browser — your input is never uploaded, logged, or stored.Privacy policy
What is Image Color Picker?
This image colour picker reads the exact colour of any pixel in a picture and gives it to you as a HEX code, RGB, HSL and an approximate CMYK value, each with a copy button. It is for designers matching a brand colour from a logo or screenshot, developers who need the CSS value of a colour in a mockup, and anyone who wants to know "what colour is that?" without opening Photoshop.
Open or paste a PNG, JPG, WebP, GIF, BMP or AVIF image. Move the mouse over it and a round loupe magnifies the 11 × 11 pixels around the pointer, with the pixel being read outlined, while the colour under the pointer updates live. Click to pin it. On a phone, touch the image, slide your finger until the loupe (shown above your finger) is on the right pixel, and lift. With a keyboard, focus the image and use the arrow keys (hold Shift to move 10 pixels) and Enter. Every pick is added to a history row so you can collect several colours and copy them all at once.
By default the picker reads one pixel exactly. Photos are noisy — JPG compression and camera grain make neighbouring pixels differ — so you can switch to a 3 × 3 or 5 × 5 average, which gives the colour your eye sees rather than one stray pixel. A white pixel in a field of #1E40AF reads #FFFFFF at 1 × 1 and #3755B8 at 3 × 3. Averages are weighted by transparency, so see-through pixels do not drag the result towards black.
Extract palette finds the image's dominant colours: a copy of the image at most 256 pixels on its longest side is reduced to 4–12 colours by median-cut quantisation, near-identical colours are merged, and each colour is listed with the share of pixels closest to it. An image that is three-quarters red and one-quarter blue gives #FF0000 at 75% and #0000FF at 25%.
The conversions are exact and rounded once: RGB to HEX is direct, HSL follows the CSS Color 4 formula and is shown in whole degrees and percent, and CMYK uses the simple formula K = 1 − the brightest channel. That CMYK is an approximation: real print colours depend on the press and its ICC profile, which an on-screen image does not carry.
Colours are read in sRGB exactly as your browser decoded the image. If the file has an embedded colour profile or is a wide-gamut (Display P3) photo, the browser converts it to sRGB first, so a value can differ by a few units from what a profile-aware editor reports. Where your browser supports the EyeDropper API, a "Pick from screen" button also lets you sample a colour from anywhere on your screen; it is hidden elsewhere.
The image never leaves your device: it is decoded and read on a canvas in your browser, which you can confirm in the developer tools' Network tab. The site loads Google Analytics, but your image is never part of any request.
1. The file's first bytes are checked to confirm it is a PNG, JPG, WebP, GIF, BMP or AVIF image; files over 50 MB are refused before being read. 2. The browser decodes the image upright onto a canvas and reads all its pixels once with getImageData in sRGB (8 bits per channel). Images above 16,777,216 pixels, or longer than 16,384 pixels on a side, are read at the largest size within those limits, and the page says so. 3. The pointer position is mapped to a pixel by proportion: pixel = floor(offset ÷ displayed size × image size), clamped to the image. 4. Sampling: 1 × 1 reads that pixel; 3 × 3 and 5 × 5 average the square around it (clipped at the image edges), weighting each pixel's colour by its alpha. 5. HEX = the three channels as two hex digits each. HSL per CSS Color 4: L = (max + min) / 2, S = (max − min) / (1 − |2L − 1|), hue from the dominant channel, rounded to whole degrees and percent. CMYK: K = 1 − max(R, G, B)/255, C = (1 − R/255 − K) / (1 − K), and likewise M and Y, in whole percent. 6. Palette: a copy at most 256 px on its longest side is quantised by median cut to the chosen number of colours; colours closer than 24 units (straight-line distance in 0–255 RGB) are merged into the more common one, and shares are the fraction of non-transparent pixels nearest each colour.
Worked examples
- A pixel of rgb(30, 64, 175) → HEX #1E40AF, HSL hsl(226, 71%, 40%), CMYK ≈ cmyk(83%, 63%, 0%, 31%).
- A single white pixel surrounded by #1E40AF → #FFFFFF with the 1 × 1 sample, #3755B8 with the 3 × 3 average.
- An image that is 75% pure red and 25% pure blue → palette #FF0000 (75%) and #0000FF (25%).
- A 24-megapixel photo (5712 × 4284) → read at 4729 × 3547, under the 16,777,216-pixel limit of iPhone and iPad browsers.
How to use Image Color Picker
- Click "Choose an image", drop one onto the box, or paste a screenshot with Ctrl+V (Cmd+V on a Mac).
- Hover over the image and click the pixel you want (on a phone, touch, slide and lift). Pick 3 × 3 or 5 × 5 under Sample for an average.
- Click "Copy HEX", "Copy RGB", "Copy HSL" or "Copy CMYK" next to the value you need.
- Click "Extract palette" for the dominant colours, choosing how many under Palette, and copy one or all of them.
Common errors
- The colour differs slightly from the design file — the image has an embedded colour profile or wide-gamut colours, and the browser converted it to sRGB before reading. Values can shift by a few units; use the original design file for exact brand values.
- A photo gives a different value on each click — neighbouring pixels in JPG photos really differ. Switch Sample to 3 × 3 or 5 × 5 for a steadier average.
- "Pick from screen" is missing — your browser does not provide the EyeDropper API. Picking from an uploaded image works in every modern browser.
- The CMYK value does not match the printer's — CMYK here is the simple formula without an ICC profile. Ask your printer for their profile-converted values.
- The file is not the format its name says — for example a .png that is really a PDF or HEIC. The message names the real format; convert it to PNG or JPG first.
- A file over 50 MB is refused with a message like: "photo.png" is 60.00 MB, over the 50.00 MB limit for this tool. Everything runs in your browser's memory, so very large files can crash the tab. Resize or compress the image first.
FAQ
How do I get the HEX color from an image?
Open the image on this page and click the pixel you want; its HEX code appears with a copy button, along with RGB, HSL and CMYK. A screenshot can be pasted straight in with Ctrl+V.
Is there an online eyedropper tool that picks colours from anywhere on my screen?
Yes, if your browser supports the EyeDropper API: a "Pick from screen" button then appears and lets you click any pixel on your screen, even outside the browser. In browsers without that API the button is hidden, but picking from an image works everywhere.
How do I find the main colours of an image?
Load the image and click "Extract palette". You get its 4 to 12 dominant colours, each with its share of the image and a copy button, plus "Copy palette" for the whole list.
Is my image uploaded?
No. The image is decoded and its pixels are read by your own browser. You can check the Network tab of your browser's developer tools: no request carries your image.
How accurate is the colour picker?
With the 1 × 1 sample it reports the exact 8-bit sRGB value your browser decoded for that pixel. Images with embedded colour profiles or wide-gamut colours are converted to sRGB by the browser first, so values can differ slightly from a profile-aware editor.
Why is the CMYK value only approximate?
Converting screen colour to ink depends on the printing press, paper and ICC profile. This tool uses the standard simple formula (K = 1 − brightest channel), which is fine as a starting point but not a print proof.
Can I pick colours from an image on my phone?
Yes. Touch the image, slide your finger while the magnifier above it shows the pixel being read, and lift to pick. The copy buttons work the same as on a computer.
Related tools
- WebP to PNG ConverterDrop one or many WebP images and download them as PNG — transparency kept, converted on your own device, nothing uploaded.
- PNG to SVG ConverterDrop a PNG or JPG, pick the image type and colour count, and download a traced SVG — vectorized on your device, nothing uploaded.
- Image ResizerDrop images, choose a percentage, a width, a height or an exact pixel size, and download the resized copies — all processed on your device.
- Image CompressorDrop JPG, PNG or WebP images, set a quality or a target size in KB, and download smaller files — compressed on your device, never uploaded.
Prefer AllUtil on Google
One click adds AllUtil to your Google preferences. You'll see our tools highlighted with a Preferred badge in Search and AI answers.