Color Theory for UI Design: A Practical Primer
The 60-30-10 rule, color harmony, and avoiding the most common UI color mistakes.
Why Color Theory Matters in UI
Color is the most emotionally loaded element of a user interface. A user forms a judgment about a site's trustworthiness within 50 milliseconds, and color carries most of that signal. Banks use blue because it reads as stable; restaurants use red and orange because warm colors are associated with appetite; health apps use green and white because the combination reads as clean and natural. The choices are not arbitrary, and they are not made by intuition alone — they descend from a body of work on color perception, color harmony, and color in marketing that goes back to Johann Wolfgang von Goethe's 1810 Theory of Colours and was systematized in the 20th century by Johannes Itten at the Bauhaus.
This article covers the practical subset of color theory that UI designers actually use: the 60-30-10 rule for proportion, the four canonical color harmonies for palette construction, the perceptual considerations that determine whether a palette works for users with color vision deficiencies, and the accessibility constraints imposed by WCAG 2.2.
The 60-30-10 Rule
The 60-30-10 rule is a proportion guideline borrowed from interior design: 60 percent of the visible surface is one color (usually a neutral dominant), 30 percent is a secondary color (often a tint or shade of the dominant, or a complementary), and 10 percent is an accent color (typically the most saturated, used sparingly for calls to action and key interactive elements). The rule is not a law; it is a sanity check that prevents the most common UI color mistake — using five equally weighted colors that compete for attention and resolve into visual noise.
In a typical web application, the 60 percent dominant is the background — often a near-white like #FAFAFA or a tinted off-white like #F5F7FA. The 30 percent secondary is the surface color used for cards, sidebars, and headers — a slightly darker shade of the dominant, like #E8ECEF, or a tint of the brand color. The 10 percent accent is the brand color used for buttons, links, and active states — saturated enough to stand out against the 60-30 background, but used sparingly enough that it carries weight when it appears.
The rule is asymmetric on purpose. A 33-33-33 split means no color is the dominant, and the eye has nowhere to rest. A 70-20-10 split works nearly as well as 60-30-10. The danger zone is 40-30-30, where two colors fight for dominance and neither wins; this is the failure mode of designs where the designer picked three colors they liked and applied them with equal enthusiasm.
The Color Wheel and the Four Harmonies
The color wheel arranges hues in a circle, with the three primary colors (red, blue, yellow in traditional theory; red, green, blue in additive RGB) equally spaced. Mixing adjacent primaries produces secondaries (orange, purple, green); mixing adjacent primaries and secondaries produces tertiaries. The wheel is the basis for the four canonical harmonies:
- Complementary. Two hues directly opposite on the wheel — red and green, blue and orange, yellow and purple. Maximum contrast; use sparingly because full-saturation complements vibrate against each other and produce visual fatigue. Common in calls to action where you need maximum visibility (a blue-orange pairing is the basis for many "Subscribe" buttons).
- Analogous. Three hues adjacent on the wheel — blue, blue-green, green, for example. Lower contrast, calmer mood, common in editorial and lifestyle design where the goal is harmony rather than urgency.
- Triadic. Three hues equally spaced around the wheel — red, yellow, blue, or the modern equivalent. High contrast but balanced, because the three hues have equal visual weight. Useful for brand palettes that need a wide range of distinguishable colors.
- Split-complementary. One base hue plus the two hues adjacent to its complement — for example, blue with red-orange and yellow-orange. Less aggressive than full complementary, with more nuance; a common choice for sophisticated brand palettes.
Within any of these harmonies, you control the mood through saturation and value (lightness). A complementary palette at full saturation is loud and energetic; the same hues desaturated and lightened become muted and editorial. Most modern UIs use a harmony at relatively low saturation (saturations below 50 percent in HSL terms) because high saturation fatigues the eye over time.
Worked Example: A Fintech Palette
Suppose we are designing a fintech application and want a palette that reads as trustworthy, modern, and not boring. Start with a blue analogous harmony: primary #1A56DB (a saturated but not garish blue), adjacent #0E4F8A (a darker, more authoritative blue), and adjacent #3B82F6 (a lighter, friendlier blue). These three form the analogous base.
Apply the 60-30-10 rule: 60 percent is a near-white background #F8FAFC, 30 percent is the darker blue #0E4F8A used for the navigation bar and footer, and 10 percent is the lighter blue #3B82F6 used for primary buttons. Add a single accent for success and error states: green #10B981 for success, red #EF4444 for errors, both at moderate saturation so they do not fight the blue. The resulting palette has one dominant hue (blue), one accent family (success or error), and a clear hierarchy of value that guides the eye from background to surface to interactive element.
Color Vision Deficiency
About 8 percent of men and 0.5 percent of women have some form of color vision deficiency, with deuteranopia (red-green blindness) and protanopia (similar) being the most common. Tritanopia (blue-yellow) is rarer, affecting fewer than 0.01 percent of the population. A palette that distinguishes states only by hue — green for success, red for error — is invisible to roughly 4 percent of male users.
The fix is to encode meaning through more than hue alone: pair every color-coded state with an icon, a label, or a value difference (lightness). A green check plus the word "Success" is accessible; a green dot alone is not. Tools like Sim Daltonism (macOS) and the color-blindness simulators built into Chrome's DevTools render your design as it appears to users with each deficiency; running every palette through a simulator before shipping is the only reliable way to catch the failures.
Avoid the red-green-only encoding pattern for critical information. Stock charts that use red for "down" and green for "up" are invisible to red-green color-blind users; the same chart with red and blue, or with directional arrows paired with the colors, is accessible. Financial applications in particular should never rely on red-green alone to communicate gain versus loss.
WCAG Contrast Requirements
WCAG 2.2 (W3C Recommendation, October 2023) sets contrast requirements that any UI palette must satisfy for accessibility. The contrast ratio between text and its background must be at least 4.5:1 for normal-sized text and 3:1 for large text (18 point or 14 point bold). For AAA conformance, the requirements rise to 7:1 for normal text. The formula is (L1 + 0.05) / (L2 + 0.05) where L1 is the relative luminance of the lighter color and L2 that of the darker. Relative luminance itself is computed from the sRGB components with a gamma decode.
The practical implication is that many "obvious" palette choices fail contrast: light gray on white, brand blue on white, and pale tints of any hue on white often fall below 4.5:1. Run every text/background pair through a contrast checker (the WebAIM contrast checker, or the built-in tools in Figma and Chrome DevTools) before shipping. Pairing brand colors with white is particularly common failure mode; if your brand blue is #3B82F6, it fails AA on white and you need to darken it to #1D4ED8 or similar for text use, even if the lighter blue works for buttons with white text.
Common Mistakes
- Using pure RGB primaries.
#FF0000pure red,#00FF00pure green, and#0000FFpure blue all look slightly "off" on screen because they sit at the corners of the sRGB gamut and the human eye perceives them as harsh. Desaturate slightly —#EF4444,#22C55E,#3B82F6— for a more refined appearance. - Using gray for inactive states. Pure gray
#999999reads as "broken" rather than "inactive." A tinted gray — slightly blue or slightly warm — reads as intentionally designed. - Forgetting dark mode. A palette designed for white backgrounds often fails on dark backgrounds; the same blue that pops on white disappears on near-black. Design both modes explicitly, with separate palettes rather than inverted values.
- Inconsistent value scales. A palette with six hues at six different lightnesses each produces 36 swatches and no useful scale. Pick one hue, design a 9-step lightness scale (the Tailwind approach), and pick the steps you actually use.
- Too many accent colors. Each accent dilutes the others. One accent color, used consistently for one type of action, carries more weight than five accents used in five contexts.
Conclusion
Color theory in UI design is not about personal taste; it is about applying a small set of constraints that produce palettes which work for the largest number of users. The 60-30-10 rule gives you proportion. The four harmonies (complementary, analogous, triadic, split-complementary) give you palette structure. The WCAG 2.2 contrast ratios give you accessibility. Color vision deficiency simulation gives you inclusivity for the 8 percent of users who cannot distinguish the hues most designers take for granted. The result is a palette that is calm, readable, accessible, and consistent — which is what a good interface needs color to be. Written by the HT99 Tools Editorial Team.
Try the Tool This Article Explains
Put what you've learned into practice with our free, accurate calculators.