Color · Converter
RGB to CMYK converter.
Type red, green and blue and get cyan, magenta, yellow and black percentages. Edit the CMYK side and the RGB follows. This is the plain screen arithmetic, not a print profile.
Convert both ways
All formats
Enter a color to see every format.
How RGB to CMYK works
The formula
This is the “naively convert from RGBA to CMYK” algorithm in CSS Color 5. Divide each channel by 255, then:
- K (black) = 1 − max(R, G, B)
- C = (1 − R − K) ÷ (1 − K), and the same for M with G and Y with B. If K = 1 the three are 0.
- Multiply by 100 and round to whole percentages.
Worked example, rgb(255, 87, 51): R = 1.000, G = 0.341, B = 0.200. K = 1 − 1.000 = 0. C = 0, M = 1 − 0.341 = 0.659 (66%), Y = 1 − 0.200 = 0.800 (80%). That is cmyk(0%, 66%, 80%, 0%). Black, rgb(0, 0, 0), is cmyk(0%, 0%, 0%, 100%).
Read this before you print anything. CMYK here is the simple screen-to-ink arithmetic from the CSS Color 5 specification. It knows nothing about real inks, paper, dot gain or an ICC profile, which the specification itself calls “necessarily approximate”. Any workflow using a profile such as FOGRA39 or SWOP will give different numbers for the same color. Use this for quick web, spreadsheet and mock-up work, and use your print vendor’s profile for production.
Sources
- CSS Color Module Level 5, section "Naively Converting Between Uncalibrated CMYK and sRGB-Based Color" (retrieved October 16, 2026).
- CSS Color Module Level 4, W3C Candidate Recommendation Draft (retrieved October 16, 2026).
Cite this page: TNAADO Tools, “RGB to CMYK Converter,” tools.tnaado.ca/color/rgb-to-cmyk/, formulas from the W3C CSS Color specifications, retrieved October 16, 2026.
20 common colors
Click Use to load a row into the converter. The names are CSS color names; CMYK is the simple screen formula described above.
| Color | HEX | RGB | HSL | CMYK | Load |
|---|---|---|---|---|---|
| black | #000000 | rgb(0, 0, 0) | hsl(0, 0%, 0%) | cmyk(0%, 0%, 0%, 100%) | |
| white | #FFFFFF | rgb(255, 255, 255) | hsl(0, 0%, 100%) | cmyk(0%, 0%, 0%, 0%) | |
| red | #FF0000 | rgb(255, 0, 0) | hsl(0, 100%, 50%) | cmyk(0%, 100%, 100%, 0%) | |
| lime | #00FF00 | rgb(0, 255, 0) | hsl(120, 100%, 50%) | cmyk(100%, 0%, 100%, 0%) | |
| blue | #0000FF | rgb(0, 0, 255) | hsl(240, 100%, 50%) | cmyk(100%, 100%, 0%, 0%) | |
| yellow | #FFFF00 | rgb(255, 255, 0) | hsl(60, 100%, 50%) | cmyk(0%, 0%, 100%, 0%) | |
| cyan | #00FFFF | rgb(0, 255, 255) | hsl(180, 100%, 50%) | cmyk(100%, 0%, 0%, 0%) | |
| magenta | #FF00FF | rgb(255, 0, 255) | hsl(300, 100%, 50%) | cmyk(0%, 100%, 0%, 0%) | |
| gray | #808080 | rgb(128, 128, 128) | hsl(0, 0%, 50%) | cmyk(0%, 0%, 0%, 50%) | |
| silver | #C0C0C0 | rgb(192, 192, 192) | hsl(0, 0%, 75%) | cmyk(0%, 0%, 0%, 25%) | |
| maroon | #800000 | rgb(128, 0, 0) | hsl(0, 100%, 25%) | cmyk(0%, 100%, 100%, 50%) | |
| olive | #808000 | rgb(128, 128, 0) | hsl(60, 100%, 25%) | cmyk(0%, 0%, 100%, 50%) | |
| green | #008000 | rgb(0, 128, 0) | hsl(120, 100%, 25%) | cmyk(100%, 0%, 100%, 50%) | |
| purple | #800080 | rgb(128, 0, 128) | hsl(300, 100%, 25%) | cmyk(0%, 100%, 0%, 50%) | |
| teal | #008080 | rgb(0, 128, 128) | hsl(180, 100%, 25%) | cmyk(100%, 0%, 0%, 50%) | |
| navy | #000080 | rgb(0, 0, 128) | hsl(240, 100%, 25%) | cmyk(100%, 100%, 0%, 50%) | |
| orange | #FFA500 | rgb(255, 165, 0) | hsl(39, 100%, 50%) | cmyk(0%, 35%, 100%, 0%) | |
| pink | #FFC0CB | rgb(255, 192, 203) | hsl(350, 100%, 88%) | cmyk(0%, 25%, 20%, 0%) | |
| brown | #A52A2A | rgb(165, 42, 42) | hsl(0, 59%, 41%) | cmyk(0%, 75%, 75%, 35%) | |
| gold | #FFD700 | rgb(255, 215, 0) | hsl(51, 100%, 50%) | cmyk(0%, 16%, 100%, 0%) |
RGB to CMYK FAQ
How do I convert RGB to CMYK?
Scale the channels to 0-1, set black K = 1 − max(R, G, B), then compute each of cyan, magenta and yellow as (1 − channel − K) ÷ (1 − K). Multiply by 100. rgb(255, 87, 51) gives cmyk(0%, 66%, 80%, 0%).
Will this match my printer or design software?
Not exactly. This is the simple formula the CSS Color 5 specification uses when no color profile is available, and the specification calls it necessarily approximate. Workflows that use an ICC profile such as FOGRA39 or SWOP (both named in the CSS Color 5 examples) model inks and paper, so their numbers will differ.
Why is pure black cmyk(0, 0, 0, 100) here?
The simple formula puts all of the darkness in the K channel. Print workflows often use a rich black with other inks added, which this tool does not model.
How accurate is the simple formula?
CSS Color 5 gives a measure. It converted the patches of a standard color checker to CMYK with an ICC profile, then back with the naive formula, and reported DeltaE 2000 differences from 1.89 to 21.58 against the originals. It says a difference of 5 or more is just a different color altogether. Treat results as a rough guide.
Does it keep transparency?
CMYK has no alpha channel here. If you enter an rgba() value, the alpha is ignored for the CMYK output and a note tells you so.
Is anything I type sent to a server?
No. The conversion runs in your browser and nothing is uploaded or stored.
What this does, and what it does not
This converts between the screen color model (sRGB) and a simple CMYK approximation. It is not a color-managed print conversion, so do not use it to sign off print colors. Everything runs in your browser; nothing you type is sent anywhere.