RGB is additive and made of light, CMYK is subtractive and made of ink. Converting between them is the step every screen design takes before it can be printed.
How RGB to CMYK conversion works
- Read R, G and B as sRGB values between 0 and 255.
- Look the color up in the Coated FOGRA39 profile, the standard ICC profile for coated paper in Europe.
- Use the relative colorimetric intent with black point compensation, so white stays paper white and black maps to the darkest ink the press can print.
- Convert all four values to percentages between 0 and 100.
Worked example
This uses the standard Coated FOGRA39 profile. Print shops work with their own ICC profiles and ink limits, so other CMYK profiles (for example from your print shop) give different numbers. Treat the result as a solid reference, not a press-ready separation.
RGB and CMYK explained
What is RGB?
RGB describes a color as three channels of light (red, green and blue), each from 0 to 255. It mirrors how screens actually work: all three at 255 give white, all at 0 give black. RGB is the right choice whenever you need to calculate with a color, and rgba() adds transparency on top.
- Syntax:
- rgb(R, G, B)
- Range:
- 0–255 per channel
- Best for:
- code, canvas, transparency with rgba()
What is CMYK?
CMYK is the four-ink model used in printing: cyan, magenta, yellow and key (black), each as a percentage from 0 to 100. Ink subtracts light instead of emitting it, so CMYK covers fewer colors than a screen, which is why bright screen colors often look duller once they are printed.
- Syntax:
- cmyk(C%, M%, Y%, K%)
- Range:
- 0–100% per ink
- Best for:
- print, packaging, press-ready artwork
RGB to CMYK reference table
The most common CSS colors, converted from RGB to CMYK.
| Color | RGB | CMYK |
|---|---|---|
| black | rgb(0, 0, 0) | cmyk(89%, 78%, 62%, 97%) |
| white | rgb(255, 255, 255) | cmyk(0%, 0%, 0%, 0%) |
| red | rgb(255, 0, 0) | cmyk(0%, 95%, 92%, 0%) |
| lime | rgb(0, 255, 0) | cmyk(64%, 0%, 100%, 0%) |
| blue | rgb(0, 0, 255) | cmyk(93%, 75%, 0%, 0%) |
| yellow | rgb(255, 255, 0) | cmyk(9%, 0%, 96%, 0%) |
| orange | rgb(255, 165, 0) | cmyk(0%, 43%, 94%, 0%) |
| teal | rgb(0, 128, 128) | cmyk(83%, 27%, 48%, 12%) |
| purple | rgb(128, 0, 128) | cmyk(63%, 100%, 4%, 1%) |
| gray | rgb(128, 128, 128) | cmyk(48%, 39%, 39%, 21%) |