There are two fundamentally different ways colors can combine: additive and subtractive. The difference is not merely academic - it determines everything from how your phone screen produces colors to why mixing all your paints together produces mud instead of white. Understanding this distinction is essential for anyone working with color in any medium.
The key insight is that light and pigments operate in opposite directions. Light is energy radiating toward your eye; pigments are materials that absorb some of that energy before it reaches you. When you combine lights, you are adding energy - more wavelengths reaching your eye. When you combine pigments, you are subtracting energy - more wavelengths being absorbed, fewer reaching your eye. Same phenomenon (electromagnetic radiation), opposite effects (more light versus less light).
Additive color: mixing light
When you add colored lights together, you get additive color mixing. Start with darkness, add red light, add green light, add blue light - combine all three and you get white. This seems counterintuitive if you are used to mixing paints, but it makes perfect sense when you consider what is happening physically: more light is entering your eye, stimulating more photoreceptors.
Additive RGB Color Mixing
Additive Mixing Principles
- • Start with black (no light) and add colored lights
- • More light = brighter and closer to white
- • R + G = Yellow, G + B = Cyan, B + R = Magenta
- • All three primaries at full intensity = White
The additive primaries are red, green, and blue (RGB). When red and green light combine, they produce yellow - not because yellow light is created, but because the mixture stimulates your L and M cones in roughly equal amounts, the same pattern that yellow light would produce. This is metamerism in action.
The specific wavelengths chosen for display primaries are engineering compromises. Ideal primaries would be single spectral wavelengths at the extremes of human vision - around 450nm, 530nm, and 700nm. But real phosphors, LEDs, and quantum dots emit broad peaks of wavelengths. The wider these peaks, the less saturated the primaries, and the smaller the range of colors (gamut) the display can produce. Modern wide-gamut displays use increasingly narrow-band emitters to push toward those theoretical limits.
// Additive color mixing is simple addition (clamped)
function additiveMix(c1: RGB, c2: RGB): RGB {
return {
r: Math.min(255, c1.r + c2.r),
g: Math.min(255, c1.g + c2.g),
b: Math.min(255, c1.b + c2.b)
}
}
// Red + Green = Yellow
additiveMix({r: 255, g: 0, b: 0}, {r: 0, g: 255, b: 0})
// Result: {r: 255, g: 255, b: 0}The secondary additive colors are the pairwise combinations: red plus green makes yellow, green plus blue makes cyan, and blue plus red makes magenta. These secondaries - cyan, magenta, yellow - are the primaries of subtractive color mixing.
In practice, display pixels do not literally add light - they emit three separate colors so close together that your eye cannot resolve them individually. From a normal viewing distance, the red, green, and blue subpixels blur together, and your visual system averages them into a single perceived color. This spatial mixing is sometimes called partitive mixing, and it is why higher resolution displays can achieve smoother, more accurate color gradients - the individual subpixels become small enough that the averaging is more complete.
Subtractive color: filtering light
Subtractive color mixing happens when colorants - inks, dyes, pigments - absorb some wavelengths and reflect or transmit others. A cyan ink absorbs red light and reflects blue and green. A yellow ink absorbs blue light and reflects red and green. Layer them together, and you subtract both red and blue, leaving only green.
Subtractive CMY Color Mixing
Subtractive Mixing Principles
- • Start with white (all wavelengths) and add pigments
- • Each pigment absorbs certain wavelengths
- • More pigment = more absorption = darker result
- • C + Y = Green, Y + M = Red, M + C = Blue
- • All three primaries together approach black
The subtractive primaries are cyan, magenta, and yellow (CMY). In theory, combining all three should produce black - subtracting all wavelengths leaves no light. In practice, real pigments are imperfect, and mixing CMY inks produces a dark muddy brown rather than true black. This is why printers add a separate black ink (K), creating the CMYK color model.
Why use K for black instead of B? Historically, B was already used for Blue in other contexts, so Key (the printing plate that carried the most detail) became the standard. But the practical reason black ink exists is economics and quality: black ink is cheaper than combining three colors, uses less ink (meaning faster drying and less paper warping), and produces a deeper, more neutral black than CMY overlaps. In a typical printed page, the K channel does most of the work for text and shadows.
// Subtractive mixing: each colorant absorbs wavelengths
// Cyan absorbs Red, Magenta absorbs Green, Yellow absorbs Blue
function subtractiveMix(c1: CMY, c2: CMY): CMY {
// More ink = more absorption = darker
return {
c: Math.min(100, c1.c + c2.c),
m: Math.min(100, c1.m + c2.m),
y: Math.min(100, c1.y + c2.y)
}
}Printing introduces another layer of complexity: halftoning. Printers cannot vary the intensity of a single ink dot - each dot is either present or absent, at full intensity. To simulate lighter colors, printers use patterns of tiny dots with varying spacing. From a distance, these dots blur together perceptually, creating the illusion of continuous tone. Look at a newspaper photo under a magnifying glass and you will see the dots clearly. High-quality printing uses smaller dots at higher densities, making the pattern harder to detect.
Why RGB and CMY are complementary
The reason RGB and CMY are complementary is not coincidence - it follows directly from how light and colorants work. RGB additive primaries are chosen because they roughly match the peak sensitivities of our cone cells. CMY subtractive primaries are the colors that each absorb one of these primaries: cyan absorbs red, magenta absorbs green, and yellow absorbs blue.
Think of it this way: a cyan surface appears cyan because it absorbs red light and reflects blue and green. If you had red, green, and blue lights shining on it, only the blue and green would reflect back - the same blue and green that combine additively to make cyan. The color of an object is determined by which wavelengths it does not absorb.
This complementary relationship creates the artist's color wheel. Opposite colors on the wheel are complements: red-cyan, green-magenta, blue-yellow. Mixing complements in equal amounts should theoretically produce a neutral gray (additive) or black (subtractive) because together they account for the entire visible spectrum. In practice, pigment impurities usually produce muddy browns instead of clean neutrals, which is why mixing paint is more art than science.
Real-world complications
The elegant theory of additive and subtractive color mixing gets complicated in practice. Real phosphors, LEDs, and pigments do not have perfect spectral characteristics. They emit or reflect broad ranges of wavelengths, not single pure frequencies. This means that actual color mixing rarely produces exactly the colors theory predicts.
Pigment mixing is particularly unpredictable because different pigments interact differently. Some are transparent, allowing layers to act like filters; others are opaque, physically covering what is beneath. Particle size affects scattering. Chemical interactions between pigments can shift colors unexpectedly. This is why professional painters memorize which pigments mix well together rather than relying on theory alone - cadmium red and ultramarine blue might make a very different purple than alizarin crimson and cobalt blue.
Displays use additive mixing because they emit light. Printers use subtractive mixing because they deposit colorants that filter reflected light. Understanding this is crucial when preparing images for different outputs - colors that look brilliant on screen may be impossible to reproduce in print because the RGB gamut and CMYK gamut do not perfectly overlap.
Converting from RGB to CMYK requires gamut mapping - deciding what to do with colors that exist in one space but not the other. Perceptual mapping compresses the entire image to fit the destination gamut, maintaining relationships between colors at the cost of overall saturation. Relative colorimetric mapping leaves in-gamut colors alone but clips out-of-gamut colors to the nearest printable value. Absolute colorimetric is used for proofing, simulating exactly how the final print will look. No single method is best for all images.
Color spaces and gamuts
A color space defines a specific interpretation of color coordinates. sRGB, the standard for web content, defines a particular triangle of primaries and a specific gamma curve. Adobe RGB uses wider-gamut primaries, capturing more saturated greens and cyans. Display P3, common on modern Apple devices, is between the two. ProPhoto RGB encompasses nearly all visible colors but requires careful handling to avoid posterization.
The gamut of a color space is the range of colors it can represent - literally the volume it occupies in a three-dimensional color model. No RGB color space can represent all visible colors; the triangle formed by any three primaries necessarily excludes some spectral colors. This is not a technical limitation we might someday overcome - it is a mathematical certainty given that we are mapping a curved perceptual space with a flat triangle.
// Check if a color is within sRGB gamut
function isInSRGBGamut(r: number, g: number, b: number): boolean {
return r >= 0 && r <= 1 &&
g >= 0 && g <= 1 &&
b >= 0 && b <= 1
}
// Wide-gamut colors can have negative sRGB values
// A saturated cyan might need r = -0.2 to represent accurately
// This is mathematically valid but not displayable on sRGB screensPractical applications
For digital-only work displayed on screens, RGB is your world. Use sRGB for web content that needs to look consistent across devices. Use Display P3 or wider gamuts when targeting modern devices and you want more vibrant colors. Always embed color profiles in your files so software knows how to interpret your color values.
For print work, start in RGB for editing (more editing headroom, more intuitive tools) but always convert to CMYK and proof before final output. Talk to your printer about their specific profile - different paper stocks and press types have different gamuts. Budget extra time for color correction when saturated colors are important to your design.
The world of color mixing is richer and stranger than the simple RGB and CMYK models suggest. But these models provide the foundation - understanding when light adds and when pigments subtract is the first step toward mastering color in any medium.