Image tool / 25
Color Palette Extractor
Pull the dominant colours out of an image as HEX and RGB values, ordered by how much of the picture each covers.
Color Palette Extractor: TOEA samples the image, groups its colours with a median-cut quantiser, then reports the average colour of each group along with the share of the picture it occupies. Runs 100% locally in your browser with zero server file uploads.
- Category
- Image tools
- Runs
- In your browser
- Cost
- Free · no sign-up
- Availability
- Ready to use
Runs entirely in your browser
PNG, JPG, or WebP · up to 30 MB
Why a photo's palette looks muted
Each color is the average of the pixels in its group, and averaging pulls toward gray: a sunset with a few vivid orange pixels among many darker ones can yield a duller orange than the eye remembers. Anti-aliased edges and gradients create in-between shades that can take a slot of their own. For an exact brand color from a logo, sample a flat area with the image color picker, or take it from the original SVG or style guide.
From palette to color scheme
Treat an extracted palette as raw material. The dominant, low-saturation entries usually work as backgrounds and large surfaces; the small, saturated ones make better accents and buttons. Before using any of them for text, check the pair with the contrast checker: WCAG asks for at least 4.5:1 for body text, and colors taken from photos often need darkening or lightening to reach it.
How to use it
- Choose an image.
- Pick how many colours you want.
- Copy the HEX values.
Privacy & limitations
The image is read in your browser and never uploaded. The image is sampled down before analysis, so a large photo stays responsive.
Related tools
Frequently asked questions
How are the colours chosen?
Colours are repeatedly split into groups along whichever channel varies most, so detail goes where the image actually varies rather than to a flat background.
What does the percentage mean?
The share of sampled pixels belonging to that colour group, which is why the dominant colour is listed first.
Are the values exact?
Each entry is the average of the real pixels in its group, so a flat area reports its exact colour rather than a near neighbour.
Why do I get fewer colours than I asked for?
The image contains fewer distinct colours than the number requested. Only what is there is reported.
Free tool · runs in your browser · no account required