CMYK to OKLCH Converter
CMYK in, OKLCH out — with the working shown.
To convert CMYK to OKLCH, normalise the input, convert CMYK back to RGB, linearise the channels, move into the perceptual space, go polar, then check the gamut. For example, cmyk(81% 47.8% 0% 3.1%) in CMYK is oklch(61.82% 0.1935 258.33) in OKLCH.
This is a free CMYK to OKLCH converter. Type or paste any cyan, magenta, yellow and key (black) ink percentages into the field above and the OKLCH value updates as you type, along with every other notation the web understands. OKLCH is OKLab in polar form — perceptual lightness, absolute chroma and a hue angle.
Conversions run entirely in your browser using the same color engine as the rest of the site: values round-trip through linear sRGB and CIE XYZ rather than through an approximation, so what you copy is accurate to the last digit the format can carry.
How to convert CMYK to OKLCH
- Normalise the input. Read the CMYK value and scale each component into the 0–1 range the maths expects.
- Convert CMYK back to RGB. CMYK is not the display's native model, so the first move is always back to red, green and blue.
- Linearise the channels. Undo the sRGB gamma curve, because the encoded 0–255 numbers are not proportional to light and averaging them directly is what makes gradients go muddy.
- Move into the perceptual space. Convert linear RGB into LMS cone responses, take the cube root, and apply the OKLab matrix.
- Go polar. Chroma is the distance from the neutral axis and hue is the angle, so C = √(a² + b²) and H = atan2(b, a).
- Check the gamut. Clamp anything that falls outside what an sRGB display can show, so the value you copy is the value you get.
Worked example: cmyk(81% 47.8% 0% 3.1%) converts to oklch(61.82% 0.1935 258.33). That color is Dodger Blue, and the tool above shows each intermediate step for whatever value you enter.
Common CMYK to OKLCH values
The twenty colors people look up most often, converted from CMYK to OKLCH. Every row is computed by the same engine as the tool above.
| Color | CMYK | OKLCH |
|---|---|---|
| White | cmyk(0% 0% 0% 0%) | oklch(100% 0 0) |
| Black | cmyk(0% 0% 0% 100%) | oklch(0% 0 0) |
| Red | cmyk(0% 100% 100% 0%) | oklch(62.8% 0.2577 29.23) |
| Lime | cmyk(100% 0% 100% 0%) | oklch(86.64% 0.2948 142.5) |
| Blue | cmyk(100% 100% 0% 0%) | oklch(45.2% 0.3132 264.05) |
| Yellow | cmyk(0% 0% 100% 0%) | oklch(96.8% 0.211 109.77) |
| Cyan | cmyk(100% 0% 0% 0%) | oklch(90.54% 0.1546 194.77) |
| Magenta | cmyk(0% 100% 0% 0%) | oklch(70.17% 0.3225 328.36) |
| Silver | cmyk(0% 0% 0% 24.7%) | oklch(80.78% 0 0) |
| Gray | cmyk(0% 0% 0% 49.8%) | oklch(59.99% 0 0) |
| Maroon | cmyk(0% 100% 100% 49.8%) | oklch(37.67% 0.1546 29.23) |
| Olive | cmyk(0% 0% 100% 49.8%) | oklch(58.07% 0.1266 109.77) |
| Green | cmyk(100% 0% 100% 49.8%) | oklch(51.98% 0.1769 142.5) |
| Purple | cmyk(0% 100% 0% 49.8%) | oklch(42.09% 0.1935 328.36) |
| Teal | cmyk(100% 0% 0% 49.8%) | oklch(54.31% 0.0927 194.77) |
| Navy | cmyk(100% 100% 0% 49.8%) | oklch(27.11% 0.1879 264.05) |
| Orange | cmyk(0% 35.3% 100% 0%) | oklch(79.27% 0.171 70.67) |
| Pink | cmyk(0% 24.7% 20.4% 0%) | oklch(86.77% 0.0735 7.09) |
| Gold | cmyk(0% 15.7% 100% 0%) | oklch(88.68% 0.1822 95.33) |
| Crimson | cmyk(0% 90.9% 72.7% 13.7%) | oklch(57.12% 0.2219 20.09) |
CMYK and OKLCH, briefly
CMYK is four subtractive ink percentages used for print. Valid range: 0–100% per plate.
OKLCH is OKLab in polar form — perceptual lightness, absolute chroma and a hue angle. Valid range: L 0–100%, C 0–0.37 in sRGB, H 0–360°.
A note on CMYK: these values come from the standard naive formula with no ICC profile attached. They are indicative and useful for a mockup. For anything going on a press, get a printed proof on the actual stock — no formula substitutes for that.
OKLCH is worth learning if you have not. Unlike HSL, equal steps of its lightness channel look equal to the eye, which is what makes generated ramps and hover states behave predictably across every hue.
Frequently asked questions
How do you convert CMYK to OKLCH?
1. Read the CMYK value and scale each component into the 0–1 range the maths expects. 2. CMYK is not the display's native model, so the first move is always back to red, green and blue. 3. Undo the sRGB gamma curve, because the encoded 0–255 numbers are not proportional to light and averaging them directly is what makes gradients go muddy. 4. Convert linear RGB into LMS cone responses, take the cube root, and apply the OKLab matrix. 5. Chroma is the distance from the neutral axis and hue is the angle, so C = √(a² + b²) and H = atan2(b, a). 6. Clamp anything that falls outside what an sRGB display can show, so the value you copy is the value you get. The converter on this page does all of it as you type, and shows the working underneath.
What is cmyk(0% 100% 100% 0%) in OKLCH?
Pure red, cmyk(0% 100% 100% 0%), is oklch(62.8% 0.2577 29.23) in OKLCH. There is a table of twenty common colors converted to OKLCH further up this page.
What is cmyk(81% 47.8% 0% 3.1%) in OKLCH?
cmyk(81% 47.8% 0% 3.1%) converts to oklch(61.82% 0.1935 258.33). It is a dodger blue, and you can paste any other value into the field at the top of the page to convert it.
Is CMYK to OKLCH conversion lossless?
No. CMYK describes ink on paper and has no meaning without an ICC profile for a specific press, paper and ink set. The values here use the standard naive formula, which is fine for a mockup and should not be sent to a printer as-is — get a proof instead.
Can I use OKLCH directly in CSS?
Yes. oklch(61.82% 0.1935 258.33) is valid CSS and works in every current browser. It is the modern choice, because it can also express colors outside sRGB on wide-gamut displays.
Does this CMYK to OKLCH converter support transparency?
Alpha is preserved wherever the target notation can carry it — eight-digit hex, rgb() / a, hsl() / a and the modern CSS spaces all round-trip an alpha channel. CMYK has no alpha, so it is dropped there.
Is my color data sent anywhere?
No. Every conversion on this site runs in your browser with no network request, no account and no analytics. You can disconnect and it keeps working.