Which form for which job
| Notation | Good at | Bad at | | --- | --- | --- | | HEX | compact, exact, universally accepted | telling you anything about the colour | | RGB | exact, matches how a screen works | adjusting by hand | | HSL | changing lightness or saturation deliberately | exact round trips | | HSV | picking in a colour wheel UI | almost everything else | | CMYK | a rough idea of a print value | actual printing |
The useful habit is to store HEX and think in HSL. If you want a colour 10% lighter, HSL says so in one number; in HEX it is three guesses.
What the input accepts
All of these are the same colour, and all are read:
#FF5733 FF5733 #f53 rgb(255, 87, 51)
255, 87, 51 255 87 51 hsl(11, 100%, 60%) cmyk(0%, 66%, 80%, 0%)
Separators are not fussed over, because people paste from all sorts of places.
A CSS keyword — red, teal, orange — works too.
Everything is computed here
The arithmetic runs in your browser. Nothing about the colours you are working on is sent anywhere, which matters more than it sounds when the colour is an unreleased brand palette.
Questions
Which notation should I store colours in?+
HEX or RGB for anything a machine reads: both are exact and unambiguous. HSL for anything a person adjusts, because lightening a colour means changing one number instead of guessing at three. Store one, generate the rest.
Why does HSL sometimes come back a shade off?+
Because the round trip goes through whole degrees and whole percents. `hsl(11, 100%, 60%)` cannot address every one of the 16.7 million RGB values, so converting there and back can land one step away. It is invisible on screen and it matters if you are diffing values in code.
Is the CMYK real?+
No, and no converter on the web has real CMYK. Print colour depends on the ink, the paper and an ICC profile; what every tool including this one shows is a naive formula. Use it to understand roughly where a colour sits, never to send to a press.
Does it handle alpha?+
An eight-digit hex or an `rgba()` is accepted so your paste is not rejected, but the alpha is dropped — none of the other notations here carry it. Keep transparency separately.