Safelight on — the darkroom is open

Develop the palette hiding inside any photo

Upload an image and watch its colors come up like a print in the tray — HEX, RGB, a contrast checker, and code you can paste straight into a stylesheet.

01 — Expose

Upload the shot

Drop in a photo, screenshot, or product image. Nothing leaves memory until the request ends.

02 — Develop

Colors come up

Pixels are bucketed and the most dominant, most distinct tones rise to the surface.

03 — Fix

Take it with you

Copy any HEX code, or export the whole set as CSS, SCSS, Tailwind, or JSON.

How does the darkroom work?

The extractor samples thousands of pixels from your photo, groups visually similar tones into buckets, then keeps only the buckets that are both common and distinct from one another — the same instinct a printer uses when picking which tones in a contact sheet actually matter. Everything happens in memory and is discarded the moment the page finishes rendering.

Fine, standard, or coarse grain?

Grain size controls how many colors you pull and how far apart they need to be. Fine (5 colors) is built for a tight brand palette. Standard (8 colors) suits most product or hero photos. Coarse (12 colors) is for busy, high-variance images where you want more of the story. Curious how many you actually need? See duotone vs. full palette.

What are HEX and RGB, and why do both show up here?

HEX packs a color into six hexadecimal digits (like #C89B5C) and is what you'll paste into most design tools. RGB spells the same color out as red, green, and blue values from 0–255, which is what shows up in raw CSS and canvas code. Both point at the same color — pick whichever your tool of choice expects.

Is my photo safe?

Yes. Your image sits in server memory only for the milliseconds the analysis takes, then it's gone — no copy is written to disk, kept, or reused. See the privacy policy for the full picture.