Skip to content
snip tools

Color palette generator

Build harmonious color palettes from a base color, or extract colors from an image — in your browser.

Runs 100% in your browser

How to generate a color palette

  1. Pick a base colour. Choose a starting colour, or upload an image to extract from.
  2. Browse the palettes. See complementary, analogous, triadic and shade sets.
  3. Copy a swatch. Click any swatch to copy its hex code.

Harmonies are just angles on the colour wheel

Every "colour harmony" is really a rule about hue angle. Describe a colour in HSL — hue (0–360° around the wheel), saturation and lightness — and the schemes fall out as simple rotations of the hue while saturation and lightness stay put. Complementary takes the hue 180° opposite for maximum contrast; analogous nudges ±30° for neighbours that feel calm and cohesive; triadic spaces three hues 120° apart for vibrant balance; monochromatic holds the hue and varies only lightness for a tonal ramp. Working in HSL is also why you can shift a whole palette warmer or cooler by moving every hue the same few degrees — something that's painful to do by hand in hex.

Pulling a palette out of a photo

Extracting colours from an image is a clustering problem: the tool samples the pixels and groups them into a handful of representative colours, so the swatches reflect what the photo is actually made of rather than the one shade your eye fixes on. It's the fastest way to derive a scheme that already feels coherent — brand colours from a product shot, an interface palette from a mood photo — because the relationships were baked in by the lighting of the original scene. Treat the result as a starting point and adjust saturation or lightness to taste; raw photographic colours are often too muted or too noisy to use unedited.

From swatches to a usable scheme

A palette of five pretty colours isn't yet a design system. The common failure is using them in equal measure; the fix is a dominance hierarchy — the familiar 60-30-10 split of a dominant neutral, a secondary colour and a single accent for calls to action. Pick the accent for contrast against your background, not just for prettiness, and then prove it: a colour that looks fine as a swatch can still be illegible as text. Run the foreground/background pairs you'll actually ship through the contrast checker, and if you want the palette as a backdrop, feed two of the swatches into the gradient generator.

Frequently asked questions

What colour harmonies does it generate?
From a base colour it builds complementary, analogous, triadic and monochromatic (tint/shade) sets using HSL maths — the same relationships designers use to create balanced palettes.
Can I extract colours from an image?
Yes. Upload any image and the tool samples its pixels in your browser to surface the dominant colours, with copyable hex codes. The image is never uploaded to a server.
How do I pick a color from an image?
Use the "extract from an image" upload — it works as a color picker straight from a photo or screenshot, pulling the dominant colours out as a palette of copyable hex codes. Everything happens in your browser; the image never leaves your device.
Are the palettes accessible?
Harmony maths does not guarantee contrast. Check text/background pairs with the contrast checker before using them for type.
Is my image private?
Completely. It is read with a local FileReader and drawn to a canvas in your browser; nothing leaves your device.