CMYK / HEX / Lab Converter
Convert between CMYK, HEX/RGB and Lab D50. Approximates press colors using ICC profiles (Fogra39, Fogra51, SWOP v2). Generates Itten RYB harmony palettes and exports to ASE, CSS, JSON, or SVG. Results are approximations — for production-critical colour matching, verify against physical proofs.
CMYK / HEX / Lab Converter
▶ Color Selection
How to use
Set a color using any input — type a HEX code, drag the RGB or Lab D50 sliders, pick a point on the wheel, or adjust CMYK. All inputs stay in sync.
Read precise values in Color Values below and copy directly to your clipboard: HEX, RGB, CSS, HSL, Lab D50, OKLCH, and ICC-adjusted CMYK for Fogra39, Fogra51 or SWOP v2.
▶ Color Values
▶ Color Harmonies — Itten RYB
Opposite colors on Itten's RYB wheel — Red↔Green, Yellow↔Violet, Blue↔Orange. Maximum contrast. Each shown with a darker and lighter variant.
Six adjacent hues on the RYB wheel (±30°, ±60°, ±90°). Harmonious and naturalistic — the colors neighbours in Itten's system.
Three hues equidistant on the RYB wheel (120° apart). Starting from Red, this gives Itten's three primaries: Red, Yellow, Blue. Each shown with a lighter variant.
Base color plus the two colors flanking its RYB complement (±30° around the opposite). More variety than pure complementary, slightly less tension.
Four hues forming a rectangle on the RYB wheel (90° intervals). Rich and complex — works best when one color clearly dominates. Shown with two tints.
Six luminance steps of the base hue — from deep shadow to near-white. Varied using Lab/LCH for perceptually even intervals. Refined and cohesive.
Build a free-form palette of up to six colors. Click + to add the current wheel color, or use → Copy to Custom in any harmony tab to start from there. Click any swatch to select it — all inputs then edit it live. Give each color a name — it carries through to all exports.
▶ Export Palette
Why CMYK and HEX produce different colors
CMYK (Cyan, Magenta, Yellow, Key/Black) is a subtractive color model used in print: inks absorb light, so mixing them makes colors darker. HEX/RGB is an additive model used on screens: light is emitted, so mixing increases brightness. This means a vivid orange or neon green that looks striking on screen may appear duller in print — the CMYK gamut is smaller than sRGB, and some screen colors have no exact printable equivalent. This converter uses ICC profile approximation to give a directional CMYK reference; always verify separations with your RIP or profiled software before going to press.
What is Lab D50 and why does it matter for color conversion?
CIE Lab (also written L*a*b*) is a device-independent color space designed to represent colors as humans perceive them. The D50 white point matches the standard illuminant used in print and color management — it is the reference point for ICC profiles. Using Lab as an intermediate step in conversion (screen → Lab → CMYK) gives closer results than a direct sRGB-to-CMYK matrix because it accounts for the perceptual non-linearity of color vision. This tool uses Lab D50 as the intermediate color space for all cross-model conversions, and reports Lab D50 explicitly so you can pass the value directly to Photoshop or a spectrophotometer.
ICC profiles: Fogra39, Fogra51 and SWOP — and their limitations here
ICC profiles describe how a specific printing device or paper type reproduces color. Fogra39 (ISO Coated v2) is the standard for coated paper in European offset printing. Fogra51 (PSO Uncoated v3) covers uncoated and matte stock — it has a warmer paper white, higher dot gain and a smaller gamut than Fogra39. SWOP v2 is the North American equivalent for coated offset. Important: this tool simulates these profiles using a 16-corner lookup table — a significant simplification of the 80 000+ measured points in a real ICC profile. Solid primary inks typically fall within ±2–3 ΔE; mixed and midtone colors can deviate ±10–20 ΔE or more. Use the output as a directional reference. For production CMYK, assign the profile in Photoshop or Illustrator and soft-proof there.
Color harmonies on the Itten RYB wheel
The defined harmony palettes are generated on Johannes Itten's RYB (Red–Yellow–Blue) pigment wheel, the basis for classical color theory in painting, print and graphic design. In RYB, red and green are complementary, as are orange and blue, and yellow and violet — pairings that differ from the HSL wheel and correspond to the relationships taught in color theory. The six harmony types (complementary, analogous, triadic, split-complementary, tetradic, monochromatic) are read-only: they are defined by color theory rules, so the colors update automatically when you change the base color. The Custom tab lets you build a free-form palette of up to six colors by adding the current wheel color as swatches and editing each one individually.
Exporting palettes: ASE, CSS, JSON and SVG
All palette tabs — including Custom — export via the same four formats. Before downloading, choose whether to include RGB / HEX, CMYK, or both. ASE (Adobe Swatch Exchange) loads directly into the Swatches panel in Illustrator, InDesign and Photoshop; when CMYK is selected the swatches are embedded as CMYK color models. CSS exports as custom properties (--color-1 through --color-6); CMYK values appear as comments on each line. JSON includes HEX, RGB, HSL and Lab D50 — plus a cmyk field when selected. SVG exports a visual swatch strip with an optional CMYK line. Colors in the Custom palette can be named — those names carry through to every export format as the swatch name.
Frequently asked questions
Is CMYK to HEX conversion exact?
How accurate are the Fogra39, Fogra51 and SWOP values?
Which ICC profile should I use for my print file?
Why are the color harmonies based on the RYB wheel and not the HSL wheel?
How does the Custom palette tab work?
What does the RGB / CMYK checkbox in Export do?
cmyk field, SVG files show CMYK values under each swatch, and ASE files include CMYK model swatches alongside (or instead of) the RGB ones. CMYK values use the ICC profile currently selected in the Color Values panel — the label next to the CMYK checkbox updates automatically.What is the difference between Lab and OKLCH?
oklch() function.