Color Theme Generator

Back to Home
Add image files — or drag them here
JPG PNG WEBP HEIC

About this colour palette extractor

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.

How to extract a colour palette

  1. Add an image. A photograph, an illustration, a screenshot of a design — anything with colour worth borrowing.
  2. Read the swatches. Up to six colours appear with their hex codes, ordered by how much of the image they occupy.
  3. Click to copy. Clicking a swatch copies its hex code straight to your clipboard.
  4. Download the palette. The download button saves the swatches as a labelled PNG you can drop into a brief or a mood board.

How the colours are chosen

StepWhat happens
DownsampleThe image is reduced to 80 pixels on its longest side
BinEach pixel is grouped into a coarse colour bucket
RankBuckets are sorted by how many pixels they contain
SeparateA candidate is skipped if it is too close to a colour already picked
AverageEach 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.

Turning six colours into a usable scheme

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.

Frequently asked questions

How many colours does it extract?

Up to six. Fewer are returned when an image genuinely does not contain six sufficiently distinct colours — a monochrome photograph might yield three.

Why are the colours not the exact ones in my image?

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.

Can I choose which colours are extracted?

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.

How do I use the hex codes?

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.

Are these palettes accessible?

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.

Is my image uploaded?

No. The analysis runs on a downscaled copy inside your browser and nothing is transmitted.

Related tools