โ† Back to Blog

How to Convert CMYK to RGB

2026-04-15 ยท 5 min read

โ† Back to Blog

How to Convert CMYK to RGB

ยท 6 min read

CMYK and RGB: Two Fundamentally Different Color Models

RGB (Red, Green, Blue) is an additive color model used for emissive devices (monitors, phone screens), creating colors by mixing red, green, and blue light โ€” all channels at 0 is black, all at maximum is white. CMYK (Cyan, Magenta, Yellow, Key/Black) is a subtractive color model used for printing, creating colors through ink absorbing light โ€” all inks at 0% is white (paper color), all at 100% is theoretically black.

Mathematical Formula for CMYK to RGB Conversion

CMYK values are typically expressed as percentages (0โ€“100) or decimals (0โ€“1). The formula to convert to RGB (0โ€“255) is:

/* CMYK to RGB Formula */
/* Input: C, M, Y, K all as decimals 0-1 */

R = 255 ร— (1 - C) ร— (1 - K)
G = 255 ร— (1 - M) ร— (1 - K)
B = 255 ร— (1 - Y) ร— (1 - K)

Example: CMYK(0.5, 0.2, 0, 0.1)
R = 255 ร— (1 - 0.5) ร— (1 - 0.1) = 255 ร— 0.5 ร— 0.9 = 114.75 โ‰ˆ 115
G = 255 ร— (1 - 0.2) ร— (1 - 0.1) = 255 ร— 0.8 ร— 0.9 = 183.6  โ‰ˆ 184
B = 255 ร— (1 - 0.0) ร— (1 - 0.1) = 255 ร— 1.0 ร— 0.9 = 229.5  โ‰ˆ 230

RGB: rgb(115, 184, 230)

If CMYK values are in percentage form (0โ€“100), divide by 100 to convert to decimals before applying the formula. Final RGB values must be rounded to integers.

JavaScript Implementation

function cmykToRgb(c, m, y, k) {
  // Normalize to 0-1 range if given as 0-100
  if (c > 1) { c /= 100; m /= 100; y /= 100; k /= 100; }

  const r = Math.round(255 * (1 - c) * (1 - k));
  const g = Math.round(255 * (1 - m) * (1 - k));
  const b = Math.round(255 * (1 - y) * (1 - k));

  return { r, g, b };
}

// Usage with 0-100 values
cmykToRgb(50, 20, 0, 10); // { r: 115, g: 184, b: 230 }

// Usage with 0-1 values
cmykToRgb(0.5, 0.2, 0, 0.1); // { r: 115, g: 184, b: 230 }

Why Converted Results Don't Match Actual Printed Colors

Mathematical CMYK-to-RGB conversion only provides an approximation, not an exact color match. Reasons include: printed colors are affected by paper type, ink brand, and printer characteristics; different CMYK color profiles (like CMYK Coated vs Uncoated) have different color mappings; CMYK gamut is smaller than sRGB gamut, but can be more vivid in some colors (like deep blues), losing out-of-gamut color information during conversion.

Color Management in Real Work

For projects that need to work both on screen and in print, the correct approach is: use professional tools like Adobe Illustrator or Photoshop that support color profiles; specify correct color spaces (like Adobe RGB or sRGB for screen, CMYK Coated FOGRA39 for European printing); let the software perform profile conversions rather than manually calculating with formulas; and always proof-print on actual materials to verify color results.

Reverse: RGB to CMYK Conversion

function rgbToCmyk(r, g, b) {
  r /= 255; g /= 255; b /= 255;

  const k = 1 - Math.max(r, g, b);
  if (k === 1) return { c: 0, m: 0, y: 0, k: 100 }; // Black

  const c = (1 - r - k) / (1 - k);
  const m = (1 - g - k) / (1 - k);
  const y = (1 - b - k) / (1 - k);

  return {
    c: Math.round(c * 100),
    m: Math.round(m * 100),
    y: Math.round(y * 100),
    k: Math.round(k * 100)
  };
}

rgbToCmyk(115, 184, 230);
// { c: 50, m: 20, y: 0, k: 10 }

Correct Handling of Brand Colors in Print

When your brand has specified HEX or RGB colors and you need to convert them to CMYK for printing: input the HEX/RGB value in Photoshop or Illustrator, use soft proofing to preview the print result, adjust CMYK values until the screen preview is close to the desired print result, then communicate with the printer and confirm with a proof print. Pure mathematical formula CMYK values are just a starting point, not a final answer.

Try the online tool now โ€” no installation, completely free.

Open Tool โ†’

Try the free tool now

Use Free Tool โ†’