From RGB to pigment: bridging digital and physical color
Screens add light; paint subtracts it. Here's why a hex code can never be a paint recipe on its own — and how to get close anyway.
A client once sent me a hex value and asked for 'the paint version'. It's a reasonable request that hides three genuinely hard problems. Understanding them won't make the request impossible, but it will make your results predictable.
Problem one: additive versus subtractive
A screen makes color by emitting red, green and blue light. More light means brighter; all three at full strength make white. Paint works the opposite way: each pigment absorbs part of the spectrum, and what's left is reflected. Mixing pigments removes more light, so mixtures get darker and usually duller. That's why mixing a bright blue and a bright yellow gives a muted green rather than the vivid green a screen can show.
Problem two: gamut
Many saturated screen colors — especially electric blues, neon greens and hot magentas — simply can't be made with conventional pigments. Conversely, some pigments (certain cadmium oranges, phthalo turquoises) reach colors outside the standard sRGB gamut. A recipe for an out-of-gamut color is always an approximation.
Above: two screen neons next to their closest textile-dye approximations. The physical versions are recognisably related but noticeably less intense.
Problem three: substrate and light
The same paint looks different on canvas, plaster or wood, and under daylight, tungsten or LED. Stains are transparent and inherit the wood's own color. Concrete pigments lighten as the concrete cures. A recipe is only meaningful alongside a substrate and a lighting condition.
How Palettos approaches recipes
Without an AI key, the Physical module uses a transparent search: it tests thousands of three-pigment combinations at 5% ratio steps, estimates each mix by averaging in CIELAB space, and picks the one with the smallest ΔE (a standard measure of perceptual color difference) from your target. It reports that ΔE honestly. A ΔE under 2 is imperceptible to most people; 2–5 is visible side by side; above 5, treat the result as a starting point.
Averaging in Lab is a simplification — real pigments follow Kubelka–Munk behaviour, where strong tinting pigments dominate far beyond their ratio. That's why every recipe tells you to add strong pigments into weak ones, slowly.
A workflow that actually works
- Start from the recipe as a first approximation.
- Mix a small test batch and let it dry or cure completely.
- Compare under ~5000K daylight-balanced light, against a printed or on-screen reference at the same size.
- Adjust value first, then hue, then chroma.
- Record the final ratios — and save the recipe to the palette so the physical version is part of the system.
Treat physical color as another context the system must serve, just like dark mode. The role stays the same; the medium changes how you fill it.
Put it into practice
Generate a recipe in Physical →
Sources & standards
- CIE 15:2018 Colorimetry, 4th edition
- Kubelka & Munk (1931), 'An Article on Optics of Paint Layers'
- ASTM D1729, Standard Practice for Visual Appraisal of Colors
Hana Sato
Contributing editor, print & material
Hana trained as a printmaker in Kyoto before moving into brand design. She writes about the gap between screen colour and physical material, and still mixes her own inks.