HEX to CMYK Guide
How to convert HEX screen colors to CMYK for print — with the formula, gamut limitations, and best practices for print work.
The Fundamental Difference
HEX describes light (additive RGB). CMYK describes ink (subtractive). They are not the same type of color — HEX adds light, CMYK subtracts it through pigments. This means HEX to CMYK conversion is inherently approximate.
For print-critical work, the conversion is only a starting point. The actual print color depends on the specific printer, paper stock, ink, and ICC profile used.
The Standard Formula
Most tools (including OmniColor) use a straightforward formula. Convert HEX to RGB first, then:
Normalize RGB to 0-1: r' = R/255, g' = G/255, b' = B/255
K = 1 - max(r', g', b')
C = (1 - r' - K) / (1 - K)
M = (1 - g' - K) / (1 - K)
Y = (1 - b' - K) / (1 - K)
Convert each to percentage (× 100)
Worked Example: #155EEF
RGB = (21, 94, 239)
r' = 0.082, g' = 0.369, b' = 0.937
K = 1 - 0.937 = 0.063 → 6%
C = (1 - 0.082 - 0.063) / 0.937 = 0.912 → 91%
M = (1 - 0.369 - 0.063) / 0.937 = 0.606 → 61%
Y = (1 - 0.937 - 0.063) / 0.937 = 0 → 0%
Result: cmyk(91%, 61%, 0%, 6%)
More Examples
Red: #FF0000
RGB = (255, 0, 0)
K = 0
C = 0, M = 1, Y = 1
Result: cmyk(0%, 100%, 100%, 0%)
White: #FFFFFF
RGB = (255, 255, 255)
K = 0, C = M = Y = 0
Result: cmyk(0%, 0%, 0%, 0%)
Black: #000000
RGB = (0, 0, 0)
K = 1, C = M = Y = 0
Result: cmyk(0%, 0%, 0%, 100%)
Color Gamut Limitations
The RGB gamut (available on screens) is larger than the CMYK gamut (available in print). This means:
- Some screen colors cannot be reproduced in print
- Bright cyans, saturated greens, neon colors, and pure RGB primaries are often out of gamut
- The formula will output CMYK values, but the printed result may look noticeably different
Common out-of-gamut colors:
- Electric blue (#0080FF and similar)
- Neon green (#39FF14)
- Bright magenta (#FF00FF)
- Any color with very high saturation in the blue or green range
How to Actually Get Accurate Print Colors
1. Work in CMYK from the start
If the project is print-only, design in CMYK from the beginning using CMYK-aware tools. The HEX conversion will never match exactly.
2. Use ICC profiles
Ask your print shop for their ICC profile and use it in your design software. The profile tells the software how to interpret RGB colors for that specific printer and paper.
3. Use spot colors for critical brand elements
For logos and brand-critical colors, use a Pantone or other spot color that is mixed as ink rather than built from CMYK. This gives consistent, exact results.
4. Always get a physical proof
Never trust a screen preview for print. The proof is the only reliable way to see how the color will actually look printed.
5. Know the paper
The same CMYK values look different on coated vs uncoated paper, glossy vs matte. Paper stock affects ink absorption and final appearance.
When Conversion Is "Good Enough"
HEX to CMYK conversion works fine for:
- Approximate previews on screen
- Print projects with flexibility on exact color
- Brand colors already documented with CMYK values
- Basic internal documents
- Screen-only color reference (verify HEX separately)
It does not work well for:
- Brand-critical print material
- Packaging with strict color requirements
- Photography printed at high quality
- Anything where the color itself is the message
Reverse: CMYK to HEX
The reverse conversion (CMYK to HEX) has the same limitations. The formula produces a plausible screen color, but it cannot reproduce what the printed color will look like under any specific lighting or on any specific paper.
Common Mistakes
Trusting the conversion for brand colors
If your brand color is #155EEF, converting it to CMYK will give you something like cmyk(91, 61, 0, 6). But this is a formula result, not the actual print color. For a real brand guide, work with a print specialist to pick a Pantone or CMYK value that best represents the brand.
Ignoring gamut warnings
Photoshop and Illustrator warn you when colors are out of gamut. Do not ignore these warnings — they mean your color will print differently.
Using pure RGB primaries in CMYK
Pure red (FF0000) converts to CMYK(0, 100, 100, 0). But this will print as an orange-red, not the bright red you see on screen. Choose a slightly less saturated red to get closer print fidelity.
Assuming CMYK values are universal
The same CMYK values printed on two different printers, on two different papers, will look different. CMYK is not absolute like RGB.
Related Tools
- HEX to CMYK Converter
- CMYK to HEX Converter
- RGB to CMYK Converter
- CMYK to RGB Converter
- Full Color Converter