CMYK to RGB Converter
Set cyan, magenta, yellow and black from 0 to 100% and see the screen colour they stand for, as RGB and hex. The multiplication for each channel is shown underneath.
RGB of cmyk(0%, 60%, 90%, 10%)
230, 92, 23
#E65C17 · Vivid orange. How it looks on screen, before any print profile.
- HEX#E65C17
- RGBrgb(230, 92, 23)
- HSLhsl(20, 82%, 50%)
- HSVor HSBhsv(20, 90%, 90%)
- CMYKnaive, no profilecmyk(0%, 60%, 90%, 10%)
- OKLCHoklch(64.5% 0.186 41.9)
- LABCIELAB, D65lab(56.6% 50.8 60.9)
- CSS nameclosestchocolate
How this works: Method, 8 sources, Checked against 2 worked examples,
How this works
Method
Each ink percentage says how much of one primary it takes away from white light. Cyan removes red, magenta removes green and yellow removes blue; black removes a share of all three. So the red channel is 255 times the part of the light that cyan lets through (1 − C), times the part black lets through (1 − K), and the same for green with magenta and blue with yellow. Full method
Sources
- Wikipedia, CMYK color model
- International Color Consortium, ICC profiles
- W3C: WCAG 2.1, Success Criterion 1.4.3 Contrast (Minimum)
- W3C, WCAG 2.2: definitions of contrast ratio and relative luminance
- W3C, CSS Color Module Level 4
- Björn Ottosson (2020), A perceptual color space for image processing
- Myndex, SAPC-APCA documentation (APCA-W3 0.0.98G-4g)
- Machado, Oliveira and Fernandes (2009), A Physiologically-based Model for Simulation of Color Vision Deficiency
How it’s tested
2 worked examples for this page are checked by automated tests before every release: given the inputs, the tool must show the expected answer.
Changes
- Added eight pages: a colour picker for photos, a WCAG 2.2 and APCA contrast checker, a palette generator, a colour blindness simulator, and hex, RGB and CMYK converters.
- Redesigned: paste a colour in any format, HSV and CMYK added, opacity, a contrast check against white and black text, and colour harmonies.
- Fixed a crash when opening the colour picker.
- First published.
How to convert CMYK to RGB
Each ink percentage says how much of one primary it takes away from white light. Cyan removes red, magenta removes green and yellow removes blue; black removes a share of all three. So the red channel is 255 times the part of the light that cyan lets through (1 − C), times the part black lets through (1 − K), and the same for green with magenta and blue with yellow.
For cmyk(0%, 60%, 90%, 10%), black lets through 0.9 of the light. Red is 255 × 1 × 0.9 = 229.5, rounded to 230; green is 255 × 0.4 × 0.9 = 91.8, so 92; blue is 255 × 0.1 × 0.9 = 22.95, so 23. The screen colour is rgb(230, 92, 23), #E65C17, a warm orange.
This tells you how the numbers look on a screen, not how a printed sheet will look. A press with its inks and paper has a profile, and the same CMYK values printed on uncoated paper look duller than on coated stock. Rich blacks with 100% K plus other inks all come out as plain black here, because the formula has no way to show the extra depth the coloured inks add on paper.
R = 255 × (1 − C) × (1 − K), G = 255 × (1 − M) × (1 − K), B = 255 × (1 − Y) × (1 − K)
- Cyan, magenta and yellow inks absorb red, green and blue light respectively, which is why each controls one RGB channel in the conversion. Source: Wikipedia, CMYK color model.
- Converting through ICC profiles accounts for the ink, paper and press, which the device-independent formula ignores. Source: International Color Consortium, ICC profiles.
Common ink mixes on screen
Process inks and familiar mixes, converted to RGB and hex with the formula above.
| Mix | CMYK (%) | RGB | Hex |
|---|---|---|---|
| Process cyan | 100, 0, 0, 0 | rgb(0, 255, 255) | #00FFFF |
| Process magenta | 0, 100, 0, 0 | rgb(255, 0, 255) | #FF00FF |
| Process yellow | 0, 0, 100, 0 | rgb(255, 255, 0) | #FFFF00 |
| Black (K only) | 0, 0, 0, 100 | rgb(0, 0, 0) | #000000 |
| Rich black | 60, 40, 40, 100 | rgb(0, 0, 0) | #000000 |
| Red | 0, 100, 100, 0 | rgb(255, 0, 0) | #FF0000 |
| Green | 100, 0, 100, 0 | rgb(0, 255, 0) | #00FF00 |
| Blue | 100, 100, 0, 0 | rgb(0, 0, 255) | #0000FF |
| Orange | 0, 50, 100, 0 | rgb(255, 128, 0) | #FF8000 |
| Navy | 100, 80, 0, 40 | rgb(0, 31, 153) | #001F99 |
Show all 12 rowsShow fewer
| 50% grey | 0, 0, 0, 50 | rgb(128, 128, 128) | #808080 |
| Light grey | 0, 0, 0, 10 | rgb(230, 230, 230) | #E6E6E6 |
Frequently Asked Questions
Why doesn’t CMYK to RGB and back give my numbers again?
Many CMYK mixes describe the same screen colour. 0, 0, 0, 100 and 60, 40, 40, 100 both show as black, and a grey can be made with K alone or with the three colour inks. Converting back always gives the version with the most black and the least colour ink.
What colour is 100% of every ink?
On screen, black: rgb(0, 0, 0). On paper, 400% total ink would soak most papers and smear, so printers cap the total, often somewhere around 300%, depending on the press and paper.
How do I get the hex code for a CMYK colour?
Set the four sliders and read the hex code under the answer, or copy it from the formats list. cmyk(100%, 0%, 0%, 0%), process cyan, is #00FFFF on screen by this formula, though printed cyan is noticeably less bright.
Can I type values with decimals?
The sliders move in whole percentages, the precision ink values are usually given in. If you have a value such as 12.5%, round it: half a percent of ink makes a difference of at most about one step in the 0 to 255 RGB result.