Colour
Colour tools
Four tools that get used together all the time: pick a colour and convert it to any format, build a palette from it, check that it reads against the background, and pull one out of a photo. All inside your browser.
Your images and your colours never leave this page.
Picker and converter
Colour wheel with HEX, RGB, HSL, HSV, CMYK and CSS name in sync. With an eyedropper for any photo.
Palette generator
The 50 to 900 scale and the five classic combinations, ready to copy as CSS, Tailwind, JSON or an image.
Contrast checker
The contrast ratio, AA and AAA levels, and the closest colour that does pass when yours falls short.
Extract from an image
A photo's dominant colours with the percentage each covers. The image never leaves the browser.
Why it matters that this is not uploaded
Two of these four tools work with images, and what gets dragged in here is hardly ever just any photo: it is a client's logo before launch, a screenshot of an internal dashboard, or an unpublished product shot. Sending that to a stranger's server to pull a colour out of it is a bad trade, and an unnecessary one: reading an image's pixels needs no server — the browser does it with the canvas it already ships with. Here there is nowhere to send it.
Why they are separate
Because they are four different jobs done at four different moments. Hunting for a brand's blue is nothing like checking whether a grey reads on white, and cramming it all into one long page would have made all four worse. Each has its own address, its own explanation and its own questions.
What they do share is the engine: the conversions, the contrast maths and the harmonies are the same code in all four, with the same tests. So a colour cannot come out one way here and another way there.
Everything happens in your browser
None of the four upload anything. The two that work with images — the eyedropper and the palette extractor — read them with the browser's own canvas: the photo never leaves the page. That is not a small detail, because what gets dragged in here is usually a client's logo, a screenshot of an internal dashboard, or a product shot that has not been published yet.
Frequently asked questions
Are any of my images uploaded?
No. Neither the eyedropper nor the palette extractor send anything: they read the image with the canvas your browser already ships with and work inside it. There are no accounts, no database and no request that carries your file anywhere.
Once the page has loaded, disconnect from the internet and check: all four still work exactly the same.
Which of the four do I need?
If you have a colour and want it in another format, or want to pick one on the wheel, the picker. If you have one and need a whole range for a design, the palette generator. If you already have two and want to know whether they read, the contrast checker. And if the colour lives inside a photo, the extractor.
All four link to each other, so you can hop between them without losing the colour.
Are the colours exact?
The conversions between HEX, RGB, HSL and HSV are exact and round-trip losslessly: a colour taken to HSL and back to HEX returns the same HEX. That is verified across thousands of colours.
CMYK is the one exception, and the page says so wherever it appears: it is the direct conversion with no colour profile, and a print shop works with profiles that depend on the paper and the ink.