Colour palette extractor
Drop in a still, a screenshot or a video and get its colour palette in a second: HEX codes, shares, a card to share and swatches for Photoshop. It all happens in your browser, so nothing is uploaded.
No picture to hand? Try a film still
Your files never leave your computer. Nothing is uploaded.
A free tool from Spark, the video reference library for creative teams.
How to get a colour palette from an image
A colour (or color, if you're reading in the US) palette extractor that works on video frames too, because the shot you want is rarely a JPEG.
Add a picture or a video
Drop an image or a video onto the box, choose one from your computer, or paste a screenshot with Ctrl+V (Cmd+V on a Mac). No file to hand? Try a film still.
Pick the frame
For a video, drag the scrubber to the shot you want. The palette follows the frame, and the arrow keys nudge it on a frame at a time (at 24 fps).
Choose how many colours
Slide between 3 and 12. Six suits most shots. Turn on "Ignore near-black and near-white" for letterboxed frames and blown-out skies.
Sort the strip
Order the swatches by how much of the picture they cover, round the colour wheel by hue, or from dark to light.
Copy or download
Click any swatch to copy its HEX code. Copy the lot as CSS variables, Tailwind or JSON, or download a palette card or an .ase swatch file.
How the extraction works
First the picture is shrunk to about 400 pixels on its longest side. That keeps the job quick, even for a 4K frame, and loses nothing a palette needs: a colour that only lives in a handful of pixels isn't part of the look anyway.
Then every pixel is converted into OKLab, a colour space built so that equal distances look like equal differences to a human eye. Ordinary RGB is bad at this. It thinks two dark greens are miles apart and a sky blue and a lilac are neighbours, which is how cheaper extractors end up with three near-identical browns.
The colours are then grouped with k-means clustering. It starts with well spread guesses (the k-means++ method, from a fixed seed, so the same image always gives the same palette), moves each guess to the middle of the pixels nearest to it, and repeats until nothing moves. Big areas are reined in a little while it does, or a pink hotel would take all six swatches and leave out its blue roof. Each swatch is the average of its group, and its share is the real slice of the picture closest to it.
What to do with a palette
Grading references
Pull the palette from the frame your director keeps pointing at and the colourist has something concrete: the shadows sit in teal, the skin lands near amber, the highlights stay cream. Our guide to finding and saving colour grading references covers building the set.
Moodboards
Put a palette strip under each image and a board stops being a pile of pictures you like. It shows the client the world of the film in one look. Here's how to make a moodboard for a video project, and our video to GIF converter handles the references that move.
Style guides
Wardrobe, art department and the edit all need the same colours. Export the CSS or the .ase file, name the swatches, and drop them into a visual style guide for the production.
Luma and temperature, briefly
Under the palette sits a quick read of the whole frame. Luma is the average brightness, worked out the way a waveform does it (Rec. 709 luma), so low key night shots sit low and a white set sits high. Temperature is the average lean between amber and blue, and tint the lean between magenta and green, the two dials a colourist reaches for first, both measured in OKLab. They are averages, not a colour meter: a frame half in orange and half in teal can come out neutral, which is exactly what its palette will show you.
Every way out
From one HEX code to a file your art department can load.
- Click a swatch
- Copies its HEX code. Show values to copy RGB, HSL or OKLCH instead.
- CSS variables
- A :root block of --palette-1 to --palette-n, ready for a stylesheet.
- Tailwind
- A theme.extend block for tailwind.config.js, plus the @theme lines for Tailwind 4.
- JSON
- Every swatch as HEX, RGB, HSL and OKLCH with its share, for scripts and other tools.
- Palette card
- A 1600 by 1000 PNG of the picture with its strip, and the film credit if it's one of our stills.
- .ase swatches
- Adobe Swatch Exchange. Opens in Photoshop, Illustrator and InDesign from the Swatches panel.
Colour palette questions
How do I get a colour palette from an image?
Drop the image into the extractor at the top of this page, or paste a screenshot. The palette appears straight away, with a HEX code and a share for each colour. Click a swatch to copy it, or export the whole set.
Can I get the palette of a single frame from a video?
Yes. Drop in an MP4, MOV or WebM and drag the scrubber to the shot you want; the palette updates with the frame. It works with any video your browser can play, and the arrow keys nudge the scrubber a 24 fps frame at a time.
Is my image uploaded anywhere?
No. The extractor runs inside your browser, so your image or video never leaves your computer. That makes it fine for unreleased footage and client work under NDA.
Why does the palette change when I change the number of colours?
Each count is a fresh grouping of the same pixels. Ask for three and the extractor finds the three broadest families; ask for twelve and it splits them into finer shades. The same image and the same settings always give the same result.
Which apps can open the .ase file?
Adobe Swatch Exchange files open in Photoshop, Illustrator and InDesign, from the menu on the Swatches panel. For Premiere Pro or After Effects, copy the HEX codes instead: both colour pickers take a hex value.
What are OKLCH and OKLab?
They're modern colour spaces where equal steps look equal to the eye. OKLCH gives lightness, chroma (how colourful) and hue, and every current browser reads it in CSS. The extractor groups colours in OKLab, which is why it doesn't return three versions of the same beige.
Should I ignore near-black and near-white?
Turn it on when black bars, deep shadow or a blown-out sky are crowding the palette. Turn it off when the darkness is the point, as in a night exterior, because then the blacks are part of the look.
More on colour and references
Browse every guide on the Spark blogKeep the reference, and its colours
Spark is a reference library for creative teams. Save videos from Instagram, TikTok, YouTube, Vimeo and Pinterest, and send any image on the web to your Frames with a right-click. Every still gets a five-colour palette of its own, so a search for red finds the frames that carry it, and More like this finds others with a similar palette. On a paid plan, videos get an AI description and a transcript, so you can search by what's shown or said.
Free plan with 15 videos and 1 GB, no card. Mac and Windows.
