From photo to palette
Photographs are full of colour schemes that already work: a sunset, a favourite room, a brand photo shoot. This tool pulls the six colours that dominate any image and hands them to you as clickable hex swatches, ready to paste into CSS, a slide deck or a design tool. Drop an image above and the palette appears instantly, ranked with the most widespread colour first.
Under the bonnet, the image is first shrunk so there is a manageable number of pixels to look at, then every pixel is sorted into a coarse grid of colour bins. Similar colours share a bin, the bins are ranked by population, and each winning bin is represented by the average of the pixels inside it. That averaging is why a leafy tree becomes one convincing green rather than hundreds of noisy ones.
Why the six colours are genuinely different
Ranking bins by size alone tends to produce a dull palette, because the biggest area of a photo, say a blue sky, fills several neighbouring bins with near-identical blues. The tool applies a minimum distance rule: each new pick must be measurably far from every colour already chosen, so the second swatch is forced to come from somewhere else in the image. If a photo simply does not contain six distinct colours, the rule relaxes rather than inventing colours that are not there.
The trade-off to understand is that dominance means area, not importance. A striking small detail can be outvoted by a large plain background. When you want one exact colour from one exact spot, the image colour picker is the right tool; this one is for the overall mood of an image.
Putting the palette to work
Click any swatch and its hex code is on your clipboard. From there, the colour tools on this site chain together nicely: the contrast checker will tell you whether two of your six colours are readable as text on background, the shades and tints generator builds lighter and darker steps for hover states and borders, and the colour palette generator can spin complementary schemes from any single swatch. Converting for other formats is a paste away with the hex to RGB converter.
A practical workflow for a website or presentation: use the most dominant swatch as your background or neutral, a mid-ranked colour for accents, and check every text pairing for contrast before committing. Palettes lifted from photographs tend to feel harmonious precisely because the colours genuinely lived together in one scene.
Analysed on your device, never uploaded
The entire analysis runs in your browser. The image is drawn to an invisible canvas on your own device, the pixels are counted locally, and nothing is transmitted, logged or stored anywhere. Client photos, unreleased artwork and personal pictures are all safe to use, and closing the tab removes every trace.
Local processing also makes it effortless to iterate: try several photos in a row and keep the palette you like best. Nothing needs to finish "uploading" because nothing ever leaves your machine.
Frequently asked questions
Is my photo uploaded anywhere?
No. The image is drawn onto an invisible canvas and analysed by JavaScript on your own device. It never travels over the internet, nothing is logged or stored, and closing the tab removes everything.
How does the tool choose the colours?
It shrinks the image down, groups every pixel into a grid of similar colour bins, and ranks the bins by how many pixels landed in each. The top bins become the palette, with a minimum distance rule so you get six genuinely different colours rather than six near-identical shades of the largest area.
Why is a colour I can see in the photo missing?
The palette favours colours that cover the most area. A small but eye-catching detail, like a red jacket in a landscape, may lose out to large stretches of sky or grass. To grab a specific pixel exactly, use the image colour picker instead.
Why do the swatches look slightly different from the photo?
Each swatch is the average of all the pixels in its bin, so a textured area of many similar shades becomes one representative colour. That is usually what you want for design work, but it means a swatch may not match any single pixel precisely.
What can I do with the palette?
Click any swatch to copy its hex code, then use it anywhere that accepts colours: CSS, Canva, PowerPoint or a brand document. The contrast checker will tell you whether two of the colours work as text and background, and the shades generator can build lighter and darker steps from any of them.