Pulling a palette out of a photograph is the fastest honest way to arrive at a colour scheme. The colours in a good photograph already work together, because they were lit by the same light and captured by the same sensor. Designers have built schemes this way for as long as there have been photographs to build them from.
This tool extracts up to six colours from any image. It reduces the picture to a small sample, buckets every pixel into a coarse colour bin, ranks the bins by how many pixels fall into them, and then walks that ranking picking colours that are far enough apart from the ones already chosen. That last step is what stops it returning six shades of the same beige from a photo of a beach.
The analysis runs in your browser on a downscaled copy of your image. Nothing is uploaded, and no palette is stored anywhere.
| Step | What happens |
|---|---|
| Downsample | The image is reduced to 80 pixels on its longest side |
| Bin | Each pixel is grouped into a coarse colour bucket |
| Rank | Buckets are sorted by how many pixels they contain |
| Separate | A candidate is skipped if it is too close to a colour already picked |
| Average | Each chosen bucket reports the true average of its pixels |
Downsampling first is deliberate. It averages away sensor noise and JPEG artefacts, which would otherwise generate thousands of near-identical colours and swamp the ranking with meaningless variation.
An extracted palette is raw material, not a finished system. The colour occupying most of the image is usually your background; the smallest and most saturated is usually your accent, and it should stay an accent rather than becoming a background.
Always check contrast before committing. Two colours that look beautiful side by side in a photograph may be nowhere near the 4.5:1 ratio that body text needs against its background. Extracted palettes are particularly prone to this, since photographs are full of mid-tones that sit too close together for text.
Up to six. Fewer are returned when an image genuinely does not contain six sufficiently distinct colours — a monochrome photograph might yield three.
Each swatch is the average of a group of similar pixels rather than a single sampled pixel. That gives a more representative colour than picking one arbitrary point, which might land on a highlight or a compression artefact.
No. Selection is automatic, based on how much of the image each colour occupies and how distinct it is from the others already chosen. Crop to the region you care about first if you want to influence the result.
Click any swatch to copy its code to the clipboard, then paste it into your CSS, design tool or brand document. The download gives you all six as a labelled image.
Not necessarily. The tool selects visually distinct colours, not colours that meet contrast requirements. Always check text and background pairs against a contrast checker before shipping.
No. The analysis runs on a downscaled copy inside your browser and nothing is transmitted.