Image Color Palette Extractor

Pull the dominant colors out of any photo or graphic as a set of HEX/RGB swatches you can copy, entirely in your browser.

runs locally on your browser. Your data never leaves your device.

Drag & drop a JPEG, PNG, or WebP image

or

Common Use Cases

Pull a brand or product photo's color palette to match in a design tool
Build a mood board's color scheme from a reference photo
Grab HEX values for a website's CSS to match an uploaded logo or banner
Check whether a graphic's colors are consistent with an existing brand palette

About Image Color Palette Extractor

Matching a design, a mood board, or a brand's look to a photo you're working from usually means guessing at hex codes by eye, or opening the image in a full desktop editor just to use its eyedropper tool. This tool extracts a ready-to-use color palette straight from an uploaded image: upload a photo or graphic, and it analyzes the pixel data to surface the colors that actually dominate it, each shown as a swatch with copyable HEX and RGB values.

Under the hood, the uploaded image is decoded and drawn onto an in-memory canvas, and its pixel data is grouped using median-cut color quantization, the same general technique classic color-quantization tools use to reduce a photo's full range of colors down to a small, representative set. Rather than just picking the single most common pixel value (which tends to overweight large flat regions like a sky or a wall), median-cut repeatedly splits the image's colors into smaller and smaller groups along whichever channel varies the most, then averages each final group into one representative swatch, so the result reflects the image's actual color structure, not just its single most frequent pixel.

You control how many swatches come back, from a tight 2-color summary up to a fuller 12-color breakdown, and each swatch shows what share of the sampled image it represents alongside its HEX and RGB values, with a one-click copy button for each. A "copy all HEX values" shortcut grabs the whole palette at once for pasting into a design tool, a CSS file, or a mood board.

Every step (decoding the image, sampling its pixels, and running the color quantization) happens locally using the Canvas API already built into your browser. Your image is never uploaded, transmitted, logged, or stored anywhere, even for a moment.

Frequently Asked Questions

Is my image uploaded anywhere while its colors are being extracted?
No. The image is decoded directly in your browser the moment you select it, and every step (sampling its pixel data and grouping it into a palette) runs entirely on your device using the Canvas API. Nothing is uploaded, transmitted, logged, or stored anywhere.
How does the tool decide which colors are the 'dominant' ones?
It uses median-cut color quantization: the image's sampled pixels are repeatedly split into smaller groups based on whichever color channel (red, green, or blue) varies the most within that group, then each final group is averaged into a single representative swatch. This tends to surface a more balanced set of colors than just picking the single most frequent pixel value, which can overweight large flat areas like a sky or a plain background.
Why does the number of colors I get sometimes differ from what I selected?
If an image genuinely doesn't contain enough distinct colors to fill every slot (a very flat graphic or a mostly single-color image, for example), the tool returns as many swatches as the image actually supports rather than padding the palette with near-duplicate colors.
Does a transparent PNG affect the extracted colors?
No. Fully or mostly transparent pixels are excluded from sampling, since a transparent area can hold leftover RGB values that were never actually visible in the image. Only pixels with meaningful opacity contribute to the palette.
What image formats can I upload?
Any common image format your browser can decode, including JPEG, PNG, WebP, GIF, and BMP.