hex to CMYK
This is the naive conversion every web tool uses. Real print output depends on paper, ink and an ICC profile, so treat it as a starting point.
Paste a hex value. Other formats work too.
cmyk(100%, 26%, 0%, 9.4%)Need every format at once? Open in the full picker
Worked examples
Common colors converted from hex to CMYK, computed with the same engine the picker uses.
| Color | hex | CMYK | Copy |
|---|---|---|---|
| Pure red | #ff0000 | cmyk(0%, 100%, 100%, 0%) | |
| Pure green | #00ff00 | cmyk(100%, 0%, 100%, 0%) | |
| Pure blue | #0000ff | cmyk(100%, 100%, 0%, 0%) | |
| White | #ffffff | cmyk(0%, 0%, 0%, 0%) | |
| Mid gray | #808080 | cmyk(0%, 0%, 0%, 49.8%) | |
| Black | #000000 | cmyk(0%, 0%, 0%, 100%) | |
| Interface blue | #4287f5 | cmyk(73.1%, 44.9%, 0%, 3.9%) | |
| Success green | #22c55e | cmyk(82.7%, 0%, 52.3%, 22.7%) | |
| Danger red | #ef4444 | cmyk(0%, 71.5%, 71.5%, 6.3%) | |
| Warning amber | #f59e0b | cmyk(0%, 35.5%, 95.5%, 3.9%) | |
| Editor black | #1e1e1e | cmyk(0%, 0%, 0%, 88.2%) | |
| Warm sand | #e9c46a | cmyk(0%, 15.9%, 54.5%, 8.6%) |
How the conversion works
This is the naive conversion every web tool uses. Real print output depends on paper, ink and an ICC profile, so treat it as a starting point.
Both formats are computed from a single canonical representation (CIE XYZ with a D65 white point, held in floating point) rather than by chaining one format into the next. That matters because chained conversions accumulate rounding error, and because it means a color that cannot be represented in the target format is handled deliberately rather than by accident.
When the source describes a color outside the target's gamut, chroma is reduced in OKLCh while lightness and hue are held, following the CSS Color 4 gamut mapping algorithm. Clipping each channel independently would be simpler but visibly shifts hue on saturated colors.