Skip to content

Hex to CMYK Converter

Convert HEX colors to CMYK in your browser. Naive sRGB-based approximation for print previews. Free, no signup, your colors stay local.

No Tracking Runs in Browser Free
All color conversion happens locally in your browser. No data is sent to any server.
Gamut: sRGB Display P3 Rec2020
Contrast vs:
AA AA-Lg AAA AAA-Lg · APCA Lc
Color blindness simulation (8 types)
Protanopia (red-blind)
Deuteranopia (green-blind)
Tritanopia (blue-blind)
Achromatopsia (total)
Protanomaly (red-weak)
Deuteranomaly (green-weak)
Tritanomaly (blue-weak)
Achromatomaly (partial)
Tints / Shades / Tones / Harmonies

Tints

Shades

Tones

Harmonies

Copy as code
Common colors reference
Reviewed for naive CMYK formula correctness, pure-black short-circuit (K=100 when max(R,G,B)=0), integer percentage rounding, ICC caveat presence across description / examples / FAQ / best practices / common errors, and round-trip stability via the OKLCH source-of-truth across the 0-100% C/M/Y/K coverage ranges. — Go Tools Engineering Team · May 27, 2026

What Is a Hex to CMYK Converter?

A hex to CMYK converter is a small utility that turns a hex color code (`#FF5733`) into the four-channel CMYK percentages (`cmyk(0%, 66%, 80%, 0%)`) that approximate the same color in print ink coverage. Hex is the terse base-16 string designers and developers paste between Figma, Sketch, Photoshop, brand-guideline PDFs, and CSS stylesheets — three 8-bit sRGB channels packed into a 6-character `#RRGGBB` form, anchored to the IEC 61966-2-1 sRGB specification. CMYK is the process-color model for printing — four channels representing the percentage of each ink (Cyan, Magenta, Yellow, Key=black) applied to a paper substrate, anchored to whatever ICC profile the printing setup uses (typically US Web Coated SWOP v2, Fogra39, or Japan Color 2011 Coated). Developers and designers convert HEX → CMYK for print preparation: vendor proofs, packaging design, business cards, brochures, and any other work that has to leave the screen and become ink on paper.

**The CMYK format deep dive + ICC caveat.** CMYK is a process-color model for printing. Each channel represents the percentage of ink applied to a substrate — 0% means no ink, 100% means full coverage. K (Key) is black ink, separated out from CMY so dark colors don't require muddy CMY overprints that produce a brown-tinged near-black; pure K gives crisp typography, deep shadows, and tighter total ink coverage. The 4-channel notation is `cmyk(76%, 47%, 0%, 4%)` for Tailwind blue-500 — 76% cyan, 47% magenta, 0% yellow, 4% black. **The honest disclaimer the entire tool is built around**: our converter uses the naive textbook formula `K = 1 - max(R, G, B); C = (1-R-K)/(1-K); M = (1-G-K)/(1-K); Y = (1-B-K)/(1-K)`. This treats CMYK as a direct sRGB inversion. It ignores ink absorption curves (each ink has its own non-linear response), paper substrate (cream stock shifts the white point, glossy coated stock holds saturation better than uncoated), dot gain (ink dots spread as they hit absorbent paper, increasing apparent coverage by 10-30% per channel), total ink limit (offset presses cap total coverage around 280-320% to avoid set-off and drying issues, newsprint caps around 220%), and the actual color-management chain (the full ICC pipeline from source profile through device link to output profile). **Real print accuracy requires ICC profile conversion** against the specific press: typically US Web Coated SWOP v2 for North American offset (SWOP-certified presses on coated stock), Fogra39 for European offset (per ISO 12647-2, with Fogra51 for newer premium coated and Fogra52 for uncoated), Japan Color 2011 Coated for Japanese offset. Plus the paper stock characteristics and the ink set. Use this tool for estimation, not deliverables.

**When the naive approximation is "close enough" vs. when it isn't.** Close-enough cases: digital short runs on tightly-managed digital presses (HP Indigo, Kodak NexPress, Xerox iGen), where the RIP applies its own color management and the naive output tracks the actual print more closely; proof-of-concept mockups for internal design review; vendor briefs where you'll send the ICC-correct spec separately and the naive CMYK just communicates intent; blog post illustrations and documentation that demonstrate "roughly this color in CMYK"; budget and scope conversations with print providers before commissioning the actual job. NOT close-enough cases: offset press production runs where the press operator needs press-ready files; packaging design where Pantone spot-color matching matters (spot colors override CMYK entirely — the press uses a pre-mixed ink rather than building the color from process channels); brand-critical work where a 5-15% channel shift could produce a visibly wrong color on the final piece; any job where the deliverable is the printed artifact itself rather than a screen approximation. The tool surfaces the disclaimer prominently in every output so you stay honest about which case you're in.

**Why CMYK exists at all.** Printers can't emit light — they apply ink that subtracts wavelengths from the white reflectance of the paper. Combining Cyan, Magenta, and Yellow at full strength theoretically yields black (each ink absorbs one third of the visible spectrum), but in practice produces a muddy dark brown because real inks aren't ideal Lambertian absorbers — they reflect some light at every wavelength, the inks don't perfectly stack on the substrate, and dot gain on absorbent paper increases the overlap area beyond what the CMY math predicts. K solves three problems at once: pure black ink produces a clean crisp black for typography and shadows; letting the formula reduce CMY when K is present cuts total ink coverage (saving cost on ink, speeding drying time, avoiding paper saturation that causes wrinkles); and giving the press a dedicated black plate keeps registration cleaner because text only needs one plate to line up instead of three.

This tool's HEX → CMYK workflow is one direction of a 5-spoke family that all share the same underlying unified color converter. The dedicated unified color converter is the hub — it shows all 9 formats simultaneously editable and is the right tool when your workflow needs more than just hex and CMYK. The single-direction spokes target specific Google search intents: the hex to RGB converter for the canvas-and-hardware direction, the RGB to hex converter for the inverse, the hex to HSL converter for the legacy designer-cylindrical space, and the hex to OKLCH converter for modern Tailwind v4 and shadcn/ui design systems. All five spokes and the hub share the same parsing engine and the same conversion math — including the same naive CMYK approximation with the same ICC caveat. Every conversion runs locally in your browser; your hex codes are never uploaded, never logged, and zero network requests fire as you type. Verify in DevTools.

// sRGB hex → naive CMYK approximation
// NOTE: This is the textbook K = 1 - max(R,G,B); C = (1-R-K)/(1-K) formula.
// It is NOT an ICC-profile conversion. Real print accuracy requires color
// management against the specific press (US Web Coated SWOP v2, Fogra39,
// Japan Color 2011 Coated, etc.), ink set, and paper substrate. Channel
// values can drift 5-15% from this naive output once ICC conversion runs.
// Use as estimate for proofs, briefs, and digital press — never as a press-
// ready deliverable.
function hexToCmyk(hex) {
  const h = hex.trim().replace(/^#/, '');
  const [r, g, b] = [0, 2, 4].map(i => parseInt(h.slice(i, i + 2), 16) / 255);
  const k = 1 - Math.max(r, g, b);
  // Pure black short-circuit: max RGB = 0 ⇒ K = 1, C/M/Y undefined (0/0)
  if (k === 1) return { c: 0, m: 0, y: 0, k: 100 };
  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) };
}
console.log(hexToCmyk('#3b82f6')); // → { c: 76, m: 47, y: 0, k: 4 }
console.log(hexToCmyk('#FF5733')); // → { c: 0, m: 66, y: 80, k: 0 }
console.log(hexToCmyk('#000000')); // → { c: 0, m: 0, y: 0, k: 100 }

Key Features

Naive sRGB → CMYK Formula (No ICC Profile)

Uses the standard textbook `K = 1 - max(R,G,B); C = (1-R-K)/(1-K); M = (1-G-K)/(1-K); Y = (1-B-K)/(1-K)` formula on normalized 0-1 sRGB values. No ICC profile lookups, no press-specific color management, no dot gain compensation. This makes the tool fast, predictable, and runs entirely in the browser — but it also means the output is an approximation, not a press-ready value. We surface the caveat next to the CMYK output and in every example so the limitation stays visible.

Honest About Being an Approximation — Flagged Everywhere

The ICC-profile caveat appears in the CMYK field description, in every example explanation, in the FAQ, in best practices, and in common errors. We don't bury the limitation in a footnote at the bottom of the page. The naive approximation is a useful tool when you know its limits; it's a footgun when you don't. The tool's stance: print pros already know to run ICC conversion, screen-first developers and designers need the reminder front-and-center.

Quick Estimate for Proofs, Briefs, and Digital Print

Useful for the three workflows where the naive output is genuinely useful: proof-of-concept mockups, vendor briefs (paired with the source hex so the printer can run their own ICC conversion), and short-run digital press jobs (HP Indigo, Kodak NexPress, Xerox iGen) where the RIP's color management often tracks the naive formula more closely than offset does. Skip the tool for offset production runs, Pantone-matched spot work, and any brand-critical job where the deliverable is the printed piece.

Channel Percentages Match Standard CMYK Notation

Output uses the standard `cmyk(C%, M%, Y%, K%)` four-percentage form that prepress software, design tools (Photoshop, Illustrator, InDesign), and print-shop spec sheets all use natively. Each channel is rounded to the nearest integer percent for readability; the underlying float values are preserved internally so round-trips back to hex stay bit-stable across the tool's internal OKLCH source-of-truth.

Live Preview Alongside HEX/RGB/HSL/OKLCH for Cross-Format Work

The same hex drives all nine format fields simultaneously — HEX, RGB, HSL, HSV, HWB, CMYK, OKLCH, OKLAB, and the closest CSS named color. When you're prepping a brand color for both a screen target (CSS in hex or OKLCH) and a print target (CMYK proof for the vendor), seeing both side-by-side prevents the common bug where the screen and print specs drift apart silently because they were derived in separate tools.

Per-Keystroke Instant Output (No Convert Button)

Type a single character into the HEX field and the CMYK field updates in the same animation frame. The naive formula runs in microseconds; no debounce, no latency, no visible reflow. The internal OKLCH source-of-truth means editing any other field (RGB, HSL, OKLCH) also updates CMYK instantly without the cursor jumping. Useful when you're scanning through a brand palette and want to spot-check which colors will print acceptably versus which sit too far outside CMYK's gamut.

100% In-Browser — Color Stays Local

All hex parsing, CMYK conversion, gamut detection, contrast scoring, and palette generation runs locally in your browser. Your hex codes are never transmitted, never logged on any server, never analyzed. Zero network requests as you type — verify in DevTools. Safe for unannounced brand palettes, internal packaging specs for unreleased products, draft mockups under NDA, and any other confidential color work where the value can't leak.

Browser-Only — No Photoshop / Illustrator Needed

Getting a naive CMYK approximation usually means opening Photoshop or Illustrator, switching the document's color mode, and reading off the channel values from the Info panel. This tool collapses that workflow into a single paste-and-read interaction in any browser tab. Doesn't replace the ICC-aware conversion those apps run when you specify a press profile, but does replace the ten clicks needed for a quick check.

Bidirectional With HSL / RGB / HEX / OKLCH in the Unified Hub

Although this spoke targets HEX → CMYK specifically, the unified hub at color-converter exposes the full 9-format bidirectional grid — edit CMYK directly, watch HEX update; edit OKLCH, watch CMYK update. The naive CMYK formula round-trips back to the same approximate hex but can drift slightly through the gamut-clipping that happens when the OKLCH source-of-truth maps a CMYK-only color back into the 256-per-channel sRGB byte space.

Hex to CMYK Converter Alternatives

Adobe Photoshop (Mode → CMYK Color)

desktop application

The industry-standard tool for ICC-correct hex-to-CMYK conversion. Set the document's working CMYK profile (Edit → Color Settings → Working Spaces → CMYK = US Web Coated SWOP v2 or whichever profile matches the target press), then convert via Image → Mode → CMYK Color. Reads the Info panel for the resulting CMYK values. Vastly more accurate than any online naive converter because it applies the full ICC pipeline. Costs Creative Cloud subscription, requires desktop install, but it's what every print pro uses for the actual conversion. Reach for Photoshop when the output goes to press; reach for this tool when you just need a ballpark.

Adobe Illustrator / InDesign

desktop application

Both ship with the same ICC color-management engine as Photoshop and produce identical CMYK values for the same hex when set to the same working profile. Illustrator is the typical home for logo and brand-asset work; InDesign for multi-page layouts. Either is a legitimate way to produce ICC-correct CMYK without leaving the Adobe suite. Same caveat as Photoshop: paid subscription, desktop-only, but the gold standard for press-ready output.

CMYK Color Picker (Adobe Express, Online)

browser tool

Adobe's free online CMYK picker, similar UX to Photoshop's color picker. Useful when you don't have a desktop subscription and need a quick CMYK lookup that Adobe's color engine produces. Less flexible than this tool's unified-field UX (Adobe's picker is CMYK-focused, doesn't simultaneously show HSL/OKLCH/named color), but the CMYK values are ICC-correct for Adobe's default working profile. Reach for it when you want Adobe's CMYK math but don't want a Creative Cloud subscription.

ColorHexa CMYK Lookup

browser tool

Long-running SEO tool that produces a per-color page with hex, RGB, HSL, HSV, CMYK, and other format conversions. Uses the same naive formula as this tool (no ICC profile), but with a less prominent caveat — easy to mistake the output for press-ready. Strong for SEO discovery via Google search for specific hex codes; weaker for active workflows where the unified-field UX matters. This tool wins on the disclaimer transparency and the simultaneous nine-format view.

Pantone Connect

subscription web app + mobile

Pantone's official color management platform. The right tool when your work requires Pantone spot colors (premium print, packaging, brand-critical jobs) — it handles spot color matching, simulated CMYK approximations for Pantone references, and the official Pantone library. Not a hex-to-CMYK converter per se; it operates in the Pantone ecosystem. Reach for Pantone Connect when the deliverable is a Pantone-spec'd print job; reach for this tool when you're working purely in process CMYK for cost or simplicity reasons.

Print Shop's Prepress Team

service

The most accurate option for any production run. The print shop's prepress team has access to their press-specific ICC profile (often custom-tuned to their exact machine, ink set, paper inventory, and operator preferences), and the ability to run wet proofs on the actual stock. Hand them the source hex (or OKLCH for modern brand systems) plus any Pantone callouts, and they'll produce press-ready CMYK that matches their press exactly. Costs nothing if you're already paying for the print job; far more accurate than any algorithmic conversion. Use this tool for the brief; use the prepress team for the deliverable.

Browser DevTools Color Picker

built-in browser feature

Chrome, Firefox, and Safari DevTools all ship a color picker that toggles between HEX, RGB, HSL, HWB, and OKLCH inline when you click a color swatch in the CSS pane. Free, no install, always available — but does NOT support CMYK output, which is the entire point of this tool. DevTools is great for screen-side color work; reach for this tool when you need the CMYK approximation for print prep.

Hex to CMYK Examples

Brand hex → CMYK proof for offset press

#3b82f6

CMYK output: `cmyk(76%, 47%, 0%, 4%)`. Useful as a quick estimate before sending to print shop for ICC-correct conversion. This is the Tailwind blue-500 you ship on the web; on an offset press (US Web Coated SWOP v2 for North American jobs, Fogra39 for European, Japan Color 2011 Coated for Japanese), the print shop's ICC pipeline will likely shift these channels by 5-15% to match the actual ink absorption, paper substrate, and dot gain of their specific press. Send the source hex alongside this estimate so the printer can run the proper conversion.

Design file prep for digital press

#FF5733

CMYK output: `cmyk(0%, 66%, 80%, 0%)`. For short-run digital prints (Kodak NexPress, HP Indigo, Xerox iGen), the naive sRGB approximation tracks the actual press output more closely than it does for offset — digital presses operate with tighter color management built into the RIP, and their ink-on-coated-stock behavior is closer to the textbook formula. Useful for proofing one-off business cards, postcards, and prototype packaging. Even here, run a test print before committing the full run; the gap between naive CMYK and ICC-correct CMYK is smaller on digital but never zero.

Old logo hex → CMYK swatch for vendor brief

#0F172A

CMYK output: `cmyk(40%, 27%, 0%, 84%)`. Tailwind slate-900, a popular dark-mode background. Pairs well with sending the actual ICC-converted spec separately. The K (Key/black) channel dominates at 84% — exactly what you want for a near-black: lean on black ink rather than building darkness from a muddy CMY overprint. This is the sane move for any color with luminance below about 20%. For the vendor brief, put both this naive CMYK and the source hex in the spec, then let the print shop's prepress team produce the press-ready conversion against their press profile.

Pure red on screen → CMYK ink coverage

#FF0000

CMYK output: `cmyk(0%, 100%, 100%, 0%)`. The classic gamut-mismatch case: pure sRGB red is not achievable in CMYK at all. The closest CMYK is a slightly orange-shifted red that loses noticeable saturation on press — CMYK's gamut simply doesn't reach the corner of sRGB where `#FF0000` lives. The naive formula reports `cmyk(0%, 100%, 100%, 0%)` because it inverts the channels directly, but no real ink combination can hit that screen color. A proper ICC conversion picks a perceptually-closest in-gamut CMYK value, which is what the print shop will do; treat the naive output here as the upper bound, not the actual deliverable.

Common Hex → CMYK Conversions

Reference table of 10 canonical colors with their HEX and naive CMYK equivalents. Values use the textbook `K = 1 - max(R,G,B); C = (1-R-K)/(1-K)` formula rounded to integer percent. **Reminder**: these are naive approximations, not ICC-correct press-ready values. For production print runs, confirm with your print shop's ICC profile against the actual press, ink, and paper.

Black

#000000 cmyk(0%, 0%, 0%, 100%)

Pure black. K dominates at 100% — exactly how you want any dark color rendered: lean entirely on black ink rather than building muddy darkness from CMY overprint.

#000000 cmyk(0%, 0%, 0%, 100%)

Pure K=100 prints cleanly for text and shadows. For a richer 'rich black' on production runs, prepress may add C=40%, M=30%, Y=30% to deepen the perceived black — confirm with your print shop's ICC profile.

Need the full color picker with RGB, HSL, OKLCH, gamut warnings, and code export? Try the unified color converter — every format simultaneously editable, with the same ICC caveat for CMYK.

White

#FFFFFF cmyk(0%, 0%, 0%, 0%)

Pure white. Zero ink — the paper itself shows through unprinted. K=0 because there's no darkness to add; CMY=0 because there's no color to subtract from the paper white.

#FFFFFF cmyk(0%, 0%, 0%, 0%)

Pure white = unprinted paper. The visual white depends entirely on the substrate — cream paper produces a warmer white, bright-white coated stock produces a cooler white. Confirm with stock samples before specifying.

Need the full color picker with RGB, HSL, OKLCH, gamut warnings, and code export? Try the unified color converter — every format simultaneously editable, with the same ICC caveat for CMYK.

Red

#FF0000 cmyk(0%, 100%, 100%, 0%)

Pure sRGB red. The classic gamut-mismatch case — no CMYK ink combination can reproduce this exact screen color on paper. The naive formula reports 100% M + 100% Y, but ICC will pick a perceptually-closest in-gamut CMYK that prints as a slightly orange-shifted red.

#FF0000 cmyk(0%, 100%, 100%, 0%)

Pure #FF0000 is unreachable in CMYK. The print proof will be 15-20% less saturated than the screen. Either accept the gamut shift, specify a Pantone spot color for exact match, or design around the gamut with a less-saturated brand red.

Need the full color picker with RGB, HSL, OKLCH, gamut warnings, and code export? Try the unified color converter — every format simultaneously editable, with the same ICC caveat for CMYK.

Green

#00FF00 cmyk(100%, 0%, 100%, 0%)

Pure sRGB green (CSS named 'lime'). Like pure red, falls outside CMYK's printable gamut. Naive output is 100% C + 100% Y; ICC will desaturate to the closest in-gamut value.

#00FF00 cmyk(100%, 0%, 100%, 0%)

Vivid greens are notoriously hard to print. Brand greens typically end up at cmyk(75%, 0%, 90%, 10%) or so after ICC conversion — confirm with the print shop and budget for a wet proof.

Need the full color picker with RGB, HSL, OKLCH, gamut warnings, and code export? Try the unified color converter — every format simultaneously editable, with the same ICC caveat for CMYK.

Blue

#0000FF cmyk(100%, 100%, 0%, 0%)

Pure sRGB blue. Outside CMYK's gamut, like red and green. Naive output is 100% C + 100% M; print proof will be a less-saturated purple-blue.

#0000FF cmyk(100%, 100%, 0%, 0%)

Deep saturated blues drift toward purple in CMYK — the ink can't reach pure blue without crossing into magenta territory. Common workaround: specify a slightly less-saturated brand blue that stays in-gamut for a cleaner print.

Need the full color picker with RGB, HSL, OKLCH, gamut warnings, and code export? Try the unified color converter — every format simultaneously editable, with the same ICC caveat for CMYK.

Cyan

#00FFFF cmyk(100%, 0%, 0%, 0%)

Pure cyan. One of the four CMYK primaries, so reproducible with a single channel at 100%. Useful as the canonical reference for pure C ink.

#00FFFF cmyk(100%, 0%, 0%, 0%)

Pure cyan ink is one of the four standard process inks — every offset and digital press carries it. The naive conversion here matches the press almost exactly for this single color.

Need the full color picker with RGB, HSL, OKLCH, gamut warnings, and code export? Try the unified color converter — every format simultaneously editable, with the same ICC caveat for CMYK.

Magenta

#FF00FF cmyk(0%, 100%, 0%, 0%)

Pure magenta. Another CMYK primary, reproducible with a single channel at 100%. The CSS named color 'magenta' and 'fuchsia' both resolve to this value.

#FF00FF cmyk(0%, 100%, 0%, 0%)

Pure magenta is the canonical reference for the M ink. Like cyan and yellow, the single-channel CMYK primaries land much closer to their screen counterparts than the additive-primary corners do.

Need the full color picker with RGB, HSL, OKLCH, gamut warnings, and code export? Try the unified color converter — every format simultaneously editable, with the same ICC caveat for CMYK.

Yellow

#FFFF00 cmyk(0%, 0%, 100%, 0%)

Pure yellow. The third CMYK primary, reproducible with a single Y channel at 100%. The CSS named color 'yellow' resolves here.

#FFFF00 cmyk(0%, 0%, 100%, 0%)

Pure yellow ink prints cleanly on every press. Brand yellows typically pair Y at 100% with a small M channel (5-15%) to warm toward gold or orange — confirm with the brand spec.

Need the full color picker with RGB, HSL, OKLCH, gamut warnings, and code export? Try the unified color converter — every format simultaneously editable, with the same ICC caveat for CMYK.

Tailwind blue-500

#3b82f6 cmyk(76%, 47%, 0%, 4%)

Tailwind CSS's default blue-500 — the canonical "web blue" of the 2020s, used in countless dashboards and marketing sites. Naive CMYK gives a useful starting estimate for any print piece that needs to match the screen brand color.

#3b82f6 cmyk(76%, 47%, 0%, 4%)

Tailwind blue-500 sits comfortably inside CMYK's gamut, so the naive output is closer to ICC-correct than for pure sRGB primaries. ICC may shift channels by 5-10% — confirm with the print shop before production.

Need the full color picker with RGB, HSL, OKLCH, gamut warnings, and code export? Try the unified color converter — every format simultaneously editable, with the same ICC caveat for CMYK.

Tailwind rose-500

#f43f5e cmyk(0%, 74%, 61%, 4%)

Tailwind CSS's default rose-500 — a high-saturation pink-red used for accent buttons, alert states, and brand contrast. Sits closer to CMYK's red corner than pure sRGB red does, so the naive approximation tracks ICC more closely.

#f43f5e cmyk(0%, 74%, 61%, 4%)

Rose-500's slightly desaturated red sits closer to CMYK's printable gamut than pure #FF0000. Expect ICC drift of about 5-10% per channel; pure-red brand colors lose 15-20% saturation in the same conversion.

Need the full color picker with RGB, HSL, OKLCH, gamut warnings, and code export? Try the unified color converter — every format simultaneously editable, with the same ICC caveat for CMYK.

How to Use the Hex to CMYK Converter

  1. 1

    Paste a hex code into the HEX field

    Drop any hex value into the HEX input — with or without the leading `#`, in 3-digit shorthand (`#F73`), 6-digit full form (`#FF5733`), 4-digit alpha shorthand (`#F738`), or 8-digit alpha full form (`#FF5733CC`). The parser normalizes all five input shapes into the same internal color before deriving CMYK. Capitalization doesn't matter (`#FF5733` and `#ff5733` parse identically). Invalid characters or wrong digit counts produce a quiet inline error; valid hex updates every other format field in real time, including CMYK. Alpha is ignored for the CMYK derivation — ink doesn't have transparency.

  2. 2

    Read the CMYK percentages from the CMYK field

    The CMYK field surfaces the value as four channel percentages: `cmyk(76%, 47%, 0%, 4%)` for Tailwind blue-500. Channels are Cyan, Magenta, Yellow, Key (black). Each percentage represents ink coverage — 0% means no ink for that channel, 100% means full coverage. **Reminder**: this is a naive sRGB inversion, not an ICC-profile conversion. Use it as a starting estimate; confirm the final values with your print shop's ICC pipeline against the actual press, ink, and paper before any production run.

  3. 3

    Click Copy to grab the CMYK string

    Each format card has a Copy button on the right. One click and the value lands on your clipboard — the button label briefly flashes "Copied!" so you know. The copied string is the standard CMYK notation (`cmyk(76%, 47%, 0%, 4%)`), ready to drop into a design brief or vendor email. For platform-specific output where CMYK isn't native (CSS, SwiftUI, Compose, Flutter all work in RGB-based color spaces), the Copy as code section below the picker emits the equivalent in each platform's format — useful when you need the same color expressed for both a screen target and a print target.

  4. 4

    Cross-check with RGB, HSL, OKLCH, named color

    The same hex you paste lights up the other format fields too — RGB for canvas calls and hardware, HSL for legacy CSS, OKLCH and OKLAB for modern perceptually-uniform design systems (Tailwind v4, shadcn/ui), HSV and HWB for designer color-picker UIs, and the closest CSS named color for documentation prose. You're never locked into hex → CMYK only. The picker (SL square + hue slider + alpha slider) drives all nine simultaneously, and on Chromium browsers the EyeDropper button samples any pixel on screen, including outside the browser.

  5. 5

    Send the source hex (not the CMYK) to the print shop

    The best print-prep workflow is to send the source hex (or the OKLCH triple) to the print shop and let their prepress team produce the press-ready CMYK via the appropriate ICC profile (US Web Coated SWOP v2, Fogra39, Japan Color 2011 Coated, or a press-specific custom profile). The naive CMYK output here is for your internal estimates, vendor briefs, and proof-of-concept work — not for direct production. Pair the naive CMYK with the source hex in any spec document so the printer has the authoritative reference.

Common Hex / CMYK Mistakes

Sending Naive CMYK Output Directly to a Press

The single most damaging mistake. The naive `K = 1 - max(R,G,B)` formula produces CMYK values that can drift 5-15% per channel from the ICC-correct values for the target press. Shipping the naive output as press-ready leads to colors that look noticeably wrong on the printed piece — washed-out brand blues, muddy reds, drifting near-blacks. The print shop's prepress team would have caught it if they'd done their own ICC conversion; bypassing them with a naive-CMYK-from-an-online-tool spec defeats the entire color-management chain.

✗ Wrong
Spec sent to printer:
Brand color CMYK: cmyk(76%, 47%, 0%, 4%)
(naive formula output, no ICC conversion)
Printer ships press-ready files unchanged.
Final piece: washed-out, off-brand blue.
✓ Correct
Spec sent to printer:
Brand color source: #3b82f6
Naive CMYK estimate: cmyk(76%, 47%, 0%, 4%)
Target press: ICC-correct via US Web Coated SWOP v2
Printer runs ICC conversion: cmyk(82%, 53%, 0%, 0%) (example shift)
Final piece: matches the digital proof.

Expecting CMYK to Match the Screen Color

Screens emit light additively in sRGB or Display P3; printed CMYK reflects light subtractively from paper. The two media have differently-shaped gamuts, different white points, different brightness ranges, and different response curves. The same color almost never looks identical on screen and in print — saturated colors lose chroma in CMYK, dark colors lose detail, the paper's whiteness shifts the entire color cast. Assuming the print proof will look like the on-screen color is the second-most-common print prep mistake.

✗ Wrong
Approve the screen color, expect identical print:
#FF0000 looks vivid red on monitor
Naive cmyk(0%, 100%, 100%, 0%)
Printer runs ICC: closest in-gamut CMYK
Final print: orange-shifted red, ~20% less saturated.
Reaction: "this is wrong, reprint".
✓ Correct
Budget time for a wet proof; accept gamut mismatch:
#FF0000 → CMYK approximation: cmyk(0%, ~95%, ~95%, 0%) ICC
Wet proof on actual stock: orange-shifted, less saturated
Design team approves the proof as the new reference
Final print matches the approved proof.

Treating CMYK Percentages as Additive (Like RGB)

CMYK percentages represent ink coverage on substrate, not channel intensity like RGB. `C+M+Y+K = 200%` doesn't mean "twice as much color" — it means the press is applying 200% total ink coverage across all four channels. Total ink limit varies by press and stock: about 220% for newsprint, 280-320% for coated offset stock, up to 350-400% for some digital presses. Exceed the limit and the press has trouble drying the ink, the paper saturates and wrinkles, set-off transfers wet ink to the back of the next sheet.

✗ Wrong
Specify high-coverage dark color without checking total:
cmyk(85%, 85%, 85%, 95%) = 350% total coverage
Send to newsprint press (220% limit)
Result: ink doesn't dry, sheets stick together, smear damage.
✓ Correct
Check total ink coverage against press limit:
cmyk(85%, 85%, 85%, 95%) = 350% — over newsprint's 220% limit
Reduce via GCR / UCR: cmyk(40%, 30%, 30%, 80%) = 180% total
Fits limit, prints clean, dries on schedule.

Ignoring Substrate When Specifying CMYK

The same CMYK percentages produce noticeably different visual colors on different paper stocks. Glossy coated stock holds saturation and reflects light specularly, making colors look more vivid. Uncoated stock absorbs more ink (higher dot gain) and reflects diffusely, dulling colors and shifting them slightly warmer. Newsprint is the most absorbent and most desaturating — newspaper print never matches coated-stock print even at identical CMYK values. Specifying CMYK without specifying substrate is incomplete.

✗ Wrong
Specify brand CMYK without stock detail:
Brand red: cmyk(0%, 95%, 80%, 0%)
Print on glossy coated AND uncoated stock from same file
Glossy: vivid red as expected
Uncoated: dull orange-red, looks off-brand.
✓ Correct
Specify CMYK per substrate, ICC-correct for each:
Brand red on glossy coated: cmyk(0%, 95%, 80%, 0%) via Fogra39
Brand red on uncoated: cmyk(0%, 85%, 70%, 0%) via Fogra47
Each stock gets the press-ready CMYK tuned to its ICC profile.
Both pieces read as the same brand red on press.

Who Uses Hex to CMYK

Print Designers Prepping Vendor Briefs
Before commissioning a print job, designers send the print shop a brief with brand colors specified in both hex (the source of truth) and a CMYK approximation (so the printer can ballpark ink costs and proofing time). Paste each brand hex here, copy the naive CMYK, drop both into the spec document. The printer then runs the actual ICC conversion against their press profile and produces the press-ready CMYK before plating. Don't skip the source hex — that's what the print shop will trust for the final conversion.
Brand Managers Estimating Print Costs Before Quote
Print quotes depend partly on total ink coverage. Naive CMYK gives a quick ballpark of the ink load for a proposed palette: high-K colors are cheaper (less ink, faster drying), high-CMY colors are more expensive (more ink, longer drying, risk of paper saturation). Paste the candidate brand hex, read the CMYK percentages, and you have a defensible number for the budget conversation with the print provider before committing to a full press setup.
Packaging Designers Cross-Checking Screen vs. Print
Packaging work lives in both spaces simultaneously — the e-commerce product page renders in sRGB hex on screens, the physical box prints in CMYK on the carton stock. Use the simultaneous hex + CMYK view to spot colors that will read dramatically different across the two media (highly saturated reds, deep blues, vivid greens that exceed CMYK's gamut), and flag those colors for either Pantone spot treatment or deliberate brand-system adjustment that accepts the gamut difference.
Marketing Teams Producing Multi-Channel Campaigns
A multi-channel campaign typically delivers the same brand asset to a website (sRGB hex), an email blast (sRGB hex with sRGB fallback), social media graphics (sRGB hex on platforms that compress to AVIF/WebP), printed posters (CMYK on coated stock), and direct-mail pieces (CMYK on uncoated stock). Convert the source hex once, read the naive CMYK for the print pieces, hand off both to the production team along with the press profile spec so they can do the proper ICC conversion.
Designers Doing Digital Press Short Runs
For one-off business cards, prototype packaging, and small-batch marketing collateral going through a digital press (HP Indigo, Kodak NexPress, Xerox iGen), the naive CMYK approximation tracks the actual output more closely than it does on offset because digital presses operate with tighter color management built into the RIP. Still not press-ready, but closer — and the short run economics mean a test print before committing is cheap. Paste the hex, read the CMYK, run a test.
Designers Migrating Old Logos From Screen to Print
Old web-only brand assets often live as hex codes only, with no formal CMYK spec. When the brand needs to appear on a printed business card, brochure, or trade-show banner for the first time, the team needs a CMYK starting point. Paste each legacy hex here, read the naive CMYK, hand both off to the printer for the ICC-correct conversion. This is the canonical "digital-first brand goes to print" workflow that hits every design team eventually.
Educators Teaching Color-Model Differences
The simultaneous hex + RGB + CMYK view makes the additive-vs-subtractive contrast obvious. Pure red (`#FF0000`) renders as `rgb(255, 0, 0)` on screen and `cmyk(0%, 100%, 100%, 0%)` in naive CMYK — students see the inversion directly. Push to a wide-gamut OKLCH color, watch CMYK saturate while sRGB clips. A classroom-ready demonstration of why screen-to-print conversion is a hard problem and why the naive formula isn't the same as ICC-aware color management.

Hex to CMYK Math & ICC Caveat

The Naive CMYK Formula
Operates on normalized sRGB values (0-1 floats from the original 0-255 integers). Step one: `K = 1 - max(R, G, B)`. This sets K to the amount of "missing brightness" — pure white (R=G=B=1) yields K=0, pure black (R=G=B=0) yields K=1. Step two: `C = (1 - R - K) / (1 - K); M = (1 - G - K) / (1 - K); Y = (1 - B - K) / (1 - K)`. This computes each CMY channel as the remaining inversion after accounting for K. Step three: multiply each channel by 100 for the percentage form and round to the nearest integer for display. Pure black short-circuit: when max(R,G,B) = 0, the denominator (1 - K) is zero, so we return `cmyk(0%, 0%, 0%, 100%)` directly.
Why This Is NOT an ICC Conversion
A real ICC profile conversion applies a multi-stage transform: source profile (sRGB) → Profile Connection Space (typically CIE LAB or XYZ) → output profile (US Web Coated SWOP v2, Fogra39, etc.). Each stage encodes empirical measurements of the actual ink-paper-press combination — spectral reflectance curves, dot gain at various coverage levels, total ink limit, gray balance adjustments. The naive formula does none of this. It treats CMYK as a math abstraction rather than as ink absorption physics, which is why the output can drift 5-15% per channel from what an ICC pipeline produces. For production, run the conversion in Photoshop, Illustrator, or InDesign against the target press profile, or hand the source hex to the print shop's prepress team.
Standard ICC Profiles by Region and Press
**North American offset**: US Web Coated SWOP v2 (the SWOP-certified standard for coated stock, used by most US commercial offset shops); GRACoL 2006 Coated #1 for premium coated. **European offset**: Fogra39 (ISO 12647-2 standard for coated stock); Fogra51 for newer premium coated; Fogra52 for uncoated; Fogra47 for newsprint. **Japanese offset**: Japan Color 2011 Coated; Japan Color 2003 Web Coated for web offset. **Digital presses**: each vendor ships their own ICC profile for the specific press model and ink set (HP Indigo IndiChrome, Kodak NexPress E-Series, Xerox iGen). Always confirm with the print shop — many have a custom press-specific profile that supersedes the generic standards.
Dot Gain, Total Ink Limit, and Substrate Effects
**Dot gain**: ink dots physically spread as they hit absorbent paper, increasing apparent coverage by 10-30% per channel; the press operator compensates with curves in the RIP. The naive formula ignores this entirely. **Total ink limit**: offset presses cap total C+M+Y+K coverage around 280-320% to avoid set-off (wet ink transferring to the back of the next sheet) and prevent paper saturation; newsprint caps around 220%. The naive formula can produce 400% total coverage for dark colors, which would be unprintable. **Substrate**: cream paper shifts the white point and warms every printed color; uncoated stock absorbs more ink and dulls saturation; glossy coated stock holds the most saturation but reflects light differently.
Why K Exists (Black Generation)
In theory C+M+Y at 100% each yields black. In practice it yields a muddy dark brown because real inks aren't ideal absorbers — each ink reflects some light at every wavelength, perfect overprint is impossible due to ink mixing and dot gain. K solves three problems: pure black ink produces a clean crisp black for typography and shadows; the K substitution lets the formula reduce total ink coverage (cheaper ink, faster drying, less paper saturation); and a dedicated K plate keeps text registration tighter (only one plate needs to align, vs. three for body text built from CMY). The naive formula's K = 1 - max(R,G,B) is the simplest possible K generation strategy; real prepress uses UCR (Under Color Removal) and GCR (Gray Component Replacement) strategies that move more or less of the CMY into K based on the press characteristics.
Gamut Mismatch: sRGB Reds That CMYK Can't Reach
sRGB and CMYK have differently-shaped gamuts. sRGB can reach saturated reds, deep blues, and vivid greens that fall outside CMYK's printable range — the famous "pure red on screen looks orange in print" case. The naive formula reports `cmyk(0%, 100%, 100%, 0%)` for `#FF0000`, but no actual ink combination at any coverage level can reproduce that exact screen color on paper. An ICC conversion uses one of four rendering intents to handle the gamut mismatch: Perceptual (compresses the entire source gamut to fit the destination, preserving overall color relationships), Relative Colorimetric (clips out-of-gamut colors to the nearest in-gamut value, preserves in-gamut colors exactly), Absolute Colorimetric (similar to Relative but doesn't compensate for white-point differences), or Saturation (preserves saturation at the cost of accuracy, used mostly for business graphics).
Round-Trip Stability Through OKLCH Source-of-Truth
The tool's internal canonical representation is OKLCH (per the unified hub design), not CMYK. CMYK is derived from OKLCH on every keystroke via the chain OKLCH → OKLAB → XYZ D65 → linear-sRGB → sRGB → naive CMYK. This means editing CMYK directly is also supported: parse the four percentages, run the inverse formula to recover sRGB (`R = (1 - C) * (1 - K); G = (1 - M) * (1 - K); B = (1 - Y) * (1 - K)`), update the OKLCH source, then re-render every other field. Round-trips are stable but lossy at the edges of CMYK's gamut, where the inverse maps multiple sRGB colors to the same CMYK approximation.

Best Practices for Hex / CMYK Workflows

Confirm the Actual CMYK With Your Print Provider's ICC Profile
Before any production run, confirm the press-ready CMYK with the print shop's ICC pipeline against the actual press, ink, and paper combination. The naive output here can drift 5-15% per channel from the ICC-correct value, which is enough to turn a sharp red into a muddy orange or a deep brand blue into a washed-out navy. The shop's prepress team is the authoritative source — give them the source hex (not the naive CMYK) and let them run their own conversion against US Web Coated SWOP v2, Fogra39, Japan Color 2011 Coated, or a press-specific custom profile.
Use This Tool's CMYK as a Starting Estimate for Budget / Scope
Naive CMYK is genuinely useful for ballpark estimates: total ink coverage for cost conversations, rough K dominance for darkness checks, quick gamut sanity for the "will this color even print" question. Use it for the budget call, the vendor brief, the scope conversation. Then hand off the source hex to the print shop for the actual press-ready conversion. Don't ship the naive output as a production deliverable; do ship it as a planning artifact.
For Pantone Matching, the Print Shop's Spot-Color Library Overrides Everything
Pantone (and HKS, RAL, Toyo) spot colors are pre-mixed inks with their own fixed color identity — they don't get built from process CMYK channels. If your brand requires Pantone matching (common for packaging, premium print, anything where exact color is critical), the shop will use the Pantone ink directly and CMYK doesn't enter the picture. Specify the Pantone number in the brief; ignore both the naive and ICC-correct CMYK values for that color. CMYK only matters when the job runs purely in process colors with no spot ink.
Send the Source HEX or OKLCH to the Print Shop, Not the Naive CMYK
The print shop's prepress team needs the authoritative source color so they can run the conversion against their press profile. Hand them the source hex (or OKLCH for modern brand systems) plus any spot-color callouts (Pantone numbers). Never hand them the naive CMYK as the deliverable — they have no way to know whether the values came from a naive formula, an old Photoshop conversion against a different press profile, or an actual ICC-correct conversion against the right profile. Source data avoids the ambiguity.
Verify the K Channel Is Reasonable (K=100 for Pure Black Only)
Sanity-check the K value after conversion. Pure black (`#000000`) should yield K=100 with C=M=Y=0. Near-black dark colors should land in the K=80-95 range with low CMY. Mid-tones (mid-saturation, mid-lightness) should land somewhere in K=20-60. Bright saturated colors should sit at K=0 with one or two CMY channels at high coverage. If you see K values outside these patterns for a given color's perceived brightness, double-check the input hex — a typo can flip a color from "near-black" to "near-white" silently. The CMYK output makes the input mistake visible.
Run a Wet Proof on Actual Stock Before Production
For any production run that matters, get a wet proof from the print shop on the actual paper stock with the actual inks before signing off. Soft proofs (on-screen ICC simulations) are useful but never perfect — paper texture, ink density, and viewing-light spectrum all affect the final perception. Budget time and money for at least one wet proof iteration. The naive CMYK here, the ICC-correct CMYK, and the wet proof are three increasingly-accurate snapshots of the same color; the wet proof is the only one that matches the final printed piece exactly.
Document the Source Hex Alongside the Final CMYK
Once the print shop produces the press-ready CMYK and you sign off on the proof, document both the source hex and the final ICC-correct CMYK in the brand specification. Six months later, when someone needs to reprint or extend the palette, both values preserve the full provenance trail — the source for re-conversion against a different press, the locked CMYK for re-printing on the same press. Naive CMYK belongs in the brief stage only; press-ready CMYK belongs in the locked spec.

Frequently Asked Questions

How do I convert hex to CMYK?
The naive textbook formula: parse `#RRGGBB` to three 0-255 sRGB integers, normalize to 0-1, then compute `K = 1 - max(R, G, B); C = (1 - R - K) / (1 - K); M = (1 - G - K) / (1 - K); Y = (1 - B - K) / (1 - K)`. Output channel percentages by multiplying each by 100. This tool runs that pipeline live as you type — paste any hex (with or without `#`, 3-digit, 6-digit, or 8-digit) and the CMYK percentages update instantly. **Caveat**: this is not the same as a proper ICC-profile conversion; treat it as a ballpark, not a deliverable.
Why is CMYK from hex an approximation?
Hex encodes sRGB — an additive light-emission model anchored to a specific display white point. CMYK encodes subtractive ink absorption on paper, and every press, ink, and substrate combination has its own characteristic absorption curve. The naive textbook formula treats CMYK as a direct sRGB inversion, ignoring ink dot gain, paper substrate, total ink limit, and the actual color-management chain. Real print accuracy requires an ICC profile conversion against the specific press setup. The naive output can drift 5-15% per channel from the ICC-correct value; for some saturated hues, the difference is larger because the source color falls outside CMYK's printable gamut entirely.
What ICC profile should I use for print?
Depends on the press and region. **North American offset**: US Web Coated SWOP v2 is the long-standing default for SWOP-certified presses on coated stock. **European offset**: Fogra39 (and the newer Fogra51 for premium coated, Fogra52 for uncoated) per the ISO 12647-2 standard. **Japanese offset**: Japan Color 2011 Coated. **Digital presses** (HP Indigo, NexPress, Xerox iGen): the press vendor's own ICC profile shipped with the RIP. Always confirm with the print shop before final conversion — many shops have a custom press-specific profile tuned to their machine, paper, and ink combination that supersedes the generic standards.
Does my printer support hex codes?
Not directly. Hex is a web format; commercial printers and prepress software work in CMYK process colors or named spot colors (Pantone, HKS, RAL). When you send a file to a print shop, the prepress team converts any RGB or hex values to CMYK via their ICC pipeline before sending plates or digital-press jobs. For desktop inkjet and laser printers, the printer driver does the conversion internally — you can send an RGB document and the driver will produce CMYK ink output, but the conversion quality varies wildly by driver. For brand-critical work, hand off the source hex to the print shop and let them produce the press-ready CMYK.
Why does CMYK look different from RGB on screen?
Two reasons. **Gamut mismatch**: sRGB and Display P3 can reach saturated colors (pure reds, deep blues, vivid greens) that CMYK ink on paper simply cannot reproduce — the printable CMYK gamut is a smaller, irregularly-shaped volume inside the visible color space. **Substrate and ink physics**: screens emit light, paper absorbs and reflects it. The same color appears warmer or cooler depending on paper whiteness, brighter or duller depending on ink density and dot gain. Even within CMYK's gamut, the same `cmyk(40%, 60%, 0%, 10%)` looks different on glossy coated stock versus uncoated newsprint. Always budget time for a wet proof on the actual stock before committing to a production run.
Can I trust online hex-to-CMYK converters for print?
Not for production. Any online converter — including this one — that does not load an ICC profile and apply press-specific color management is producing the same naive `K = 1 - max(R,G,B); C = (1-R-K)/(1-K)` approximation. It's useful for ballpark estimates, vendor briefs, and proof-of-concept work, but it can drift 5-15% per channel from what an ICC-aware workflow produces. For production, send the source hex (or better, the source CMYK derived from an ICC conversion in Photoshop, Illustrator, or InDesign against the target press profile) directly to the print shop, and confirm with a wet proof. Treat the online value as an estimate, never as a press-ready spec.
What is the K in CMYK?
K stands for **Key** — the keyplate in traditional offset printing, which historically carried the black ink and the alignment registration marks that the other plates (Cyan, Magenta, Yellow) keyed off. Today it just means black ink, but the term stuck. K is separated out from CMY for two practical reasons. First, combining CMY at full strength theoretically produces black, but in practice yields a muddy brown because real inks aren't ideal absorbers — pure black ink gives crisp text, shadows, and dark areas. Second, separating K lets the press use less total ink for any dark color (lower total ink coverage saves money, dries faster, and avoids paper saturation), and gives prepress operators a single channel to push for sharp typography.
How accurate is sRGB-based CMYK?
Accurate enough for ballparks and vendor briefs, not for production. The naive formula treats CMYK as a direct sRGB inversion, which ignores the actual physics of ink-on-paper: dot gain (ink dots spread as they hit absorbent stock), substrate color (cream paper shifts the white point), ink absorption curves (each ink has its own non-linear response), and total ink limit (offset presses cap total coverage around 280-320% to avoid set-off and drying problems). A proper ICC profile conversion against US Web Coated SWOP v2, Fogra39, or Japan Color 2011 Coated accounts for all of these and can shift channels by 5-15% from the naive output. For brand-critical or high-saturation colors, the gap is larger; for neutral mid-tones, it's smaller.

Related Tools

View all tools →