About this tool
Colour Palette from Image finds the colours that make up a picture. Drop in a photo, a screenshot, a logo or a painting and it lists between three and twelve main colours, each with the share of the image it covers, so you can tell the background tone from a small accent at a glance.
Under the hood it groups every pixel with k-means clustering in OKLab, a colour space built so that equal distances look equally different to the human eye. That keeps the palette varied instead of returning five shades of the same sky, and the same image always gives the same result. If you need one exact colour, point at the picture: a magnifying loupe shows the pixels under your cursor or finger, and a click picks the colour of that one pixel, which you can copy or add to the palette.
Designers, developers and crafters can copy any colour as HEX, RGB or HSL, sort the palette by share, hue or lightness, and export it as CSS variables, a Tailwind theme or JSON, or save a palette card image to share. It all runs in your browser, so your photo is never uploaded.
How to use Colour Palette from Image
- Press “Choose an image”, drop a file onto the box, or paste a screenshot.
- Move the “Colours” slider to choose how many main colours you want, from 3 to 12.
- Use “Sort by” to order them by Share, Hue or Lightness. Press the × on a swatch to drop a colour you don’t want.
- Point at the image to see the loupe, then click or tap to pick a pixel. Press “Copy” or “Add to palette”.
- Press HEX, RGB or HSL on any swatch to copy that value.
- Choose CSS variables, Tailwind or JSON and press “Copy code”, or press “Download palette card (PNG)”.
A sunset photo with eight colours gives a deep purple for the hills at about 21%, a teal sea at 17.5%, several orange and peach tones for the sky and a warm yellow sun at under 3%, small but still found because it is so different from the rest.
Features
- Between 3 and 12 main colours, each with its percentage share of the image and a share bar across the top.
- Perceptual k-means clustering in OKLab, run in a background worker so the page never freezes.
- Pixel picker with a zoom loupe showing 11 × 11 pixels, for mouse, touch and keyboard (arrow keys move, Enter picks).
- Picks read the image itself at up to 2048 pixels across, not the shrunk preview on screen.
- One-tap copy of HEX, RGB and HSL for every colour, plus the closest CSS colour name as a friendly label.
- Sorting by share, by hue round the colour wheel (greys last) or from light to dark.
- Exports as CSS custom properties, a Tailwind CSS v4 theme and v3 config, or JSON with hex, RGB, HSL, name and share.
- A 1200 pixel wide PNG palette card with your photo and labelled swatches.
- Reads JPG, PNG, WebP, AVIF, GIF, HEIC, TIFF, BMP and SVG. See-through pixels in PNGs are ignored.
Tips and good to know
- Start with five or six colours for a usable brand or interior palette. Go higher for busy photos, lower for logos.
- Small accents such as a red door or a yellow flower may only appear at eight or more colours, or you can pick them directly with the loupe.
- Phone photos often contain slight colour noise. If two swatches look almost identical, lower the colour count or remove one with ×.
- Each swatch is the average of a group of similar pixels, so it may differ slightly from any single pixel. Use the picker when you need one exact value.
- For text on a coloured background, check the contrast before using a pair in a design.
Frequently asked questions
Is my image uploaded?
No. The image is opened and analysed entirely in your browser. Nothing is sent to AroraTools or anyone else, and nothing is kept after you close the tab.
Is it free? Is there a size limit?
It is free with no sign-up and no watermark on the palette card. Extremely large photos may be too big for some phone browsers to open; a computer copes with more.
Does it work on iPhone, Android and offline?
Yes. On a touch screen, press and drag on the picture to move the loupe and lift your finger to pick. Once the page has loaded, it keeps working without an internet connection.
How does it decide which colours are the main ones?
It sorts every pixel into groups of similar colours using k-means clustering in the OKLab colour space, then shows the average colour of each group and the share of pixels it holds. OKLab matches how people see colour differences, so the groups feel natural.
Why do the percentages not match what I see?
The share is a count of pixels. A large area of soft background counts for more than a small bright object that draws your eye, even if the object feels more important.
How do I use the palette in Tailwind CSS?
Choose Tailwind and press “Copy code”. For Tailwind v4, paste the @theme block into your main CSS file and use classes such as bg-palette-1. For v3, merge the colours section into tailwind.config.js and use classes such as bg-palette-100.
Page last reviewed
