On macOS, converting CMYK to RGB does not require opening Photoshop or any paid desktop app — the W3C naive device-CMYK formula lets a browser-based tool return an approximate screen RGB triplet and a six-digit hex value from four cyan, magenta, yellow, and black percentage sliders, with all math running locally and no upload required. macOS already ships with color-aware utilities like Preview and ColorSync Utility, but those tools are built around ICC profiles and embedded document colors rather than raw CMYK ink percentages from a printer or a brand book. That gap is exactly what a quick browser preview is designed to fill: paste the four percentages, read the resulting red, green, and blue channels, and copy the hex code straight into a screen mockup. The catch, which every Mac designer should keep in mind, is that the W3C naive calculation is an uncalibrated approximation, not a press proof, so anything headed to a printer needs to round-trip through a profile-aware application.

Why Mac Designers Reach for a Quick CMYK to RGB Preview
A surprising amount of print-related work on macOS starts the same way: someone emails a CMYK recipe — say the spot values pulled from a brand book or a printer's press sheet — and asks for a quick screen version. Photoshop, Illustrator, and Affinity Photo all handle this conversion through their color management modules, but they demand a destination profile, and sometimes a copy of the printer's ICC profile that may not be on hand. Preview, Apple's default image viewer, will open a CMYK TIFF but only flattens the document color space into the display's profile without exposing the conversion.
The W3C naive device-CMYK formula fills the gap when you only need an approximation. It takes four ink percentages, applies a single closed-form calculation, and returns an 8-bit RGB triplet plus a six-digit hex code. That is enough to mock up a website hero, sanity-check a brand color against a wireframe, or paste a value into a CSS file. It is not a substitute for a soft proof, and the rest of this article makes that distinction very explicit.
Built-In macOS Tools That Touch CMYK and RGB
macOS ships with two utilities that designers frequently try first when working across color spaces.
Preview can open CMYK images and export them as RGB, but it does not expose the conversion controls. Going to File > Export and choosing PNG or JPEG from an RGB-aware preset triggers an automatic conversion through the display profile. The resulting file is correct for screen use, but the app does not show you the hex value or the channel breakdown. You can read pixel values with the loupe-style selection tool, but only after the image has already been re-rendered.
ColorSync Utility, located in Applications > Utilities, is the more powerful of the two. Its profile conversion workflow lets you push colors between named profiles and shows a small preview. It is built around ICC profiles, however, so it expects an embedded profile or a chosen source profile rather than four raw CMYK percentages. If you have the source profile from your printer, this is the correct tool; if you only have percentages, it cannot do the math on its own.
Both tools are valuable, but neither replaces a lightweight browser preview that accepts four numbers and returns one hex.
Run CMYK to RGB in a Browser on Your Mac
For an unprofiled preview, the fastest path on any Mac is the CMYK To RGB tool running in Safari, Chrome, or Firefox. The tool implements the W3C naive device-CMYK fallback, so the math matches what you would get from the CSS Color Level 4 specification. Here is the workflow.
- Open CMYK To RGB in your Mac browser. The page loads four percentage sliders and a swatch panel.
- Move the cyan, magenta, yellow, and black sliders to the values from your print recipe. Each slider accepts percentages from 0 through 100.
- Read the 8-bit red, green, and blue channels as the sliders change. The hex value updates on every adjustment, so you can copy the current code at any time.
- Paste the hex code into your design tool, CSS file, or Slack message. The swatch beside the sliders shows the on-screen approximation in real time.
- For the underlying specification that defines the fallback, the W3C CSS Color Level 4 draft is published at css-color-4 device-CMYK.
Because all four sliders, the swatch, and the channel readouts run inside the page, nothing is uploaded to a server. The percentage values you enter stay in your browser tab.
How the W3C Naive Formula Maps Ink to Screen
The naive device-CMYK formula in CSS Color Level 4 treats each ink as a percentage that subtracts from white, then folds the black channel into the result. For each display channel, the formula is:
channel = 1 − min(1, ink × (1 − black) + black)
where "ink" is the normalized cyan, magenta, or yellow value from 0 to 1, and "black" is the normalized K value from 0 to 1. The result is then scaled to 0 through 255 with half-even rounding.
A worked example: take C = 20%, M = 80%, Y = 0%, K = 10%. The cyan ink feeds the red channel:
red = 1 − min(1, 0.20 × (1 − 0.10) + 0.10)= 1 − min(1, 0.18 + 0.10)= 1 − 0.28= 0.72 → 0.72 × 255 = 183.6 → 184
The magenta ink feeds the green channel:
green = 1 − min(1, 0.80 × (1 − 0.10) + 0.10)= 1 − min(1, 0.72 + 0.10)= 1 − 0.82= 0.18 → 0.18 × 255 = 45.9 → 46
The yellow ink feeds the blue channel:
blue = 1 − min(1, 0 × (1 − 0.10) + 0.10)= 1 − min(1, 0 + 0.10)= 1 − 0.10= 0.90 → 0.90 × 255 = 229.5 → 230
The tool returns rgb(184, 46, 230), which is #B82EE6. The CMYK to RGB Explained: The Formula and Its Limits guide walks through more recipes and edge cases.
A few predictable endpoints fall out of the same formula:
| CMYK input | RGB output | Hex |
|---|---|---|
| 0, 0, 0, 0 | 255, 255, 255 | #FFFFFF |
| 0, 0, 0, 100 | 0, 0, 0 | #000000 |
| 0, 100, 100, 0 | 255, 0, 0 | #FF0000 |
| 100, 0, 100, 0 | 0, 255, 0 | #00FF00 |
| 100, 100, 0, 0 | 0, 0, 255 | #0000FF |
Those are the W3C specification's familiar primary endpoints, and they confirm the formula's basic behavior. Beyond these endpoints, however, real-world CMYK is device-dependent.
When a Profile-Aware App Is the Only Safe Choice
The naive formula assumes an idealized press and a generic sRGB-style display. In practice, CMYK reproduction depends on the press, the ink set, the paper, the dot gain, the rendering intent, and the ICC profile embedded in the document or supplied by the printer. Two presses running the same percentages can produce visibly different swatches, and a calibrated display will not match either one without a proof.
Adobe's documentation on profile-aware conversion describes this in detail and recommends source-and-destination profile pairs for any work that goes near a contract proof or a print contract. For press accuracy on macOS, the workflow is to ask the printer for the output ICC profile they expect, open the document in a profile-aware app such as Photoshop, Illustrator, or Affinity Photo, assign the source profile or keep the embedded one, convert to the destination profile using a chosen rendering intent, and approve a physical proof on a calibrated display.
The browser preview is intentionally separate from this workflow. It does not load an ICC profile, and the page explicitly warns against using the result as a press proof. Use it for interface mockups, rough palette comparisons, and quick checks of how an uncalibrated CMYK recipe might look on an sRGB-style display — then return to your profile-aware app for anything that ships to a press.