DIY · colour

Paint Colour Mixing

Mix real pigment colours — blue and yellow make green, not grey.
RYB subtractive model
2 paints mixed

Palette

tap to add
Hover or tap a colour

Colour library

62 shades
Tap a shade to mix it

My colours

0 saved
See it in a room →

Mixing tray

0 paints

Result

#FFFFFF
rgb(255, 255, 255)
Mix detail
Where it sits

The wheel, and the mix on it

every dot is a real coordinate, not a picture

RYB coordinates are barycentric — normalise them and every pigment lands on a triangle with red, yellow and blue at the corners. Distance from the centre is chroma, and straight through the centre is the complement. That is why mixing a colour with the thing opposite it makes mud: you are walking through the middle.

Tinted and shaded
Match a colour

The tool answers “what does this make?”. This asks the other way round: give it a colour and it searches every two- and three-pigment mix for the closest it can get.

Pick any colour

Choose a colour, get every code — and what paint can do with it

Every field is live and editable — paste #4a7b9d, 74, 123, 157 or 210 40% 45% and the rest follow. CMYK here is the naive conversion, not a press profile: real four-colour printing depends on ink, paper and press, and no formula can tell you what a given printer will produce. Lab is read-only because it describes a colour rather than specifies one.
Field notes

Why paint doesn't mix like light

How it works

RYB, not RGB

Screens mix colour by adding light — red and green light together make yellow. Paint does the opposite: each pigment absorbs certain wavelengths and reflects the rest, so mixing pigments removes more light than either alone. Naively averaging two hex codes (a common shortcut) actually models light-mixing, not paint — which is exactly why it turns blue and yellow into grey instead of green. This tool instead uses the RYB colour wheel — the model artists are actually taught — built from eight reference points (white, black, the three primaries, and their pairwise mixes) and blended between them, so mixing behaves the way a real palette does.

Worked example

Mix Ultramarine Blue and Cadmium Yellow in equal parts here and you get a genuine green. Average their hex codes directly (#2A5F99 and #FFD400) and you'd get a muddy grey-blue instead — the naive-averaging failure mode this tool is built to avoid.

Why does mixed paint look duller than the pure colours?

Every real pigment absorbs some light outside its "main" colour too — mixing pigments compounds those absorptions, which is why paint mixtures trend toward brown or grey the more colours you add, and why a "pure" digital blue looks more muted once it's modelled as a real pigment.

Is this exactly how my specific paint brand will mix?

No — real pigments have their own reflectance curves (the basis of the more rigorous Kubelka–Munk theory used in industrial colour matching), and opacity, tinting strength and paint chemistry all affect the result. This is a reference approximation of subtractive mixing behaviour, not a colour-matching instrument.

What's the difference between a tint and a shade?

A tint is a colour mixed with white (lighter, less saturated). A shade is a colour mixed with black (darker, often muddier since black pigment absorbs broadly). Both are separate from a tone, which mixes in grey.

Why do some mixes look more "muddy" than others?

Mixing colours from opposite sides of the colour wheel (like red and green) pulls the result toward brown or grey, since their absorptions overlap the least useful way — this is the same reason painters are taught to avoid complementary-colour mixes when they want a clean, vibrant result.

What this page assumes

Mixing by simple parts, and equal tinting strength between the colours — which real pigments emphatically do not have. A strong phthalo blue will dominate a weak yellow far beyond its share of the mix, and opacity varies just as much, so a transparent glaze behaves differently again from an opaque one. Predicting that properly needs measured reflectance data for the specific paints. Screen colour is also emitted light rather than reflected pigment, so treat the swatch as a direction of travel and test on scrap before committing.

The gamut readout and the hue chart measure this model, not a paint range. That matters most at the warm end: the model places its red and yellow primaries exactly on your screen’s red and yellow, so a saturated orange reports as fully reachable by construction rather than by measurement — real pigment sits inside that, and a tin sits inside again once it dries. The cool end is the honest half, where mixing genuinely runs out of chroma. Differences are quoted as CIE76 ΔE, which is a plain distance in Lab and overstates the gap in saturated blues, so read the ΔE as a ranking rather than a precise perceptual score. CMYK here is the naive conversion, not a press profile. The hatched area on the picker is drawn from the same model: it is the boundary of what this palette can mix, not a statement about paint in general — a manufacturer with a pigment we do not carry will reach past it. It is drawn as two lines rather than one because the edge is not a cliff: a colour just outside is very nearly mixable, and the gap between the lines is the width of that doubt rather than a measured tolerance.

A subtractive pigment model, not screen colour math. Blue and yellow paint really do make green — try it, then compare to what averaging the two hex codes would give.
Version history · 7 releases
  1. v1.822026-08-09Paint mixing gets a colour wheel, a tint ladder and a matcher that answers the inverse question
  2. v2.12026-08-10A colour picker and six-way converter for the paint tool, and a gamut readout that says which hues paint genuinely cannot reach — and admits which ones it only appears to
  3. v2.22026-08-10The paint palette's green tubes were not green, so the recipe finder could not mix a green — refitted every tube, and put the match quality labels back on the scale they were written for
  4. v2.32026-08-1026 tubes and 62 named shades on the mixing page, the paintable region drawn on the picker, and a new tool: a path-traced 3D room you can paint with your own colours
  5. v2.42026-08-10The picker no longer shades over the colours it is asking you to judge — coarse hatching and a smooth contour instead, and two real errors in the gamut boundary that the shading had been hiding
  6. v2.52026-08-10Skirting, coving, window reveals, a pendant light and a plank floor; rooms in three sizes; you choose the sample count up to 1000; export to JPG; and the page below the tool now matches the rest of the site
  7. v2.72026-08-10Two more invented CSS classes replaced with real ones, rooms enlarged, furnishing split into items you can switch off, and the gamut boundary redrawn as a smooth double contour

Releases in which this page changed, newest last. Derived from the archived copy of every release, not from notes written afterwards — so it reflects what actually shipped. Site-wide passes are left out; they are in the full changelog.