Web Design Color Theory: Build a Website Palette That Works

Web design color theory in plain English: the screen color wheel, the 7 schemes, the 60-30-10 rule and WCAG 2.2 contrast, plus a free Palette Lab that builds a readable palette from your logo color and the exact place to set it in WordPress, Wix, Squarespace or Shopify.
A color wheel with a blue and an orange picked, applied to a plumbing company web page with a passing text contrast reading
On This Page 0%

    Is Google hiding your business?

    Run the free 60-second AI Visibility Audit and find out.

    No signup · Instant results

    Web design color theory is the set of rules for choosing website colors that belong together, stay readable for every visitor and point people to the one button you want them to press. On a real site it comes down to three moves: pick colors on the wheel, prove they can be read with a contrast ratio, and place each color in its job with the 60-30-10 split.

    This guide walks you through all three with real hex codes, the exact numbers from the accessibility standard and a free Palette Lab that builds a working palette from your logo color. By the end you can set your site’s colors yourself, in WordPress, Wix, Squarespace or Shopify, and know they pass.

    Pick colors on the wheel, prove contrast with the ratio, place colors with the 60-30-10 split1. Pickthe wheelAa4.97:12. Provethe ratio3. Place60-30-10
    1. Pickcolors that belong together2. Provethey read: 4.97:1 beats 4.5:13. Placeeach in its job: 60-30-10Aa
    The three moves of web design color theory. The 4.97:1 reading is #0067F2 text on white, calculated with the WCAG 2.2 contrast formula.
    83.9%of the top one million home pages have low-contrast textWebAIM Million, 2026
    4.5:1minimum contrast for normal body textW3C WCAG 2.2
    1 in 12men has a color vision deficiencyUS National Eye Institute
    50 msfor visitors to form a gut feeling about a siteGoogle Research

    The color wheel for websites (it is a circle of light)

    The color wheel you need for a website is the hue circle: every color on a screen sits at an angle from 0 to 360 degrees. Red is at 0, green at 120, blue at 240, and everything else falls in between.

    That matters because many guides still teach the painter’s wheel, where red, yellow and blue are the primaries. Paint and ink mix by absorbing light. Screens do the opposite: they mix red, green and blue light, and all three at full strength make white. Isaac Newton drew the first science-based color wheel by joining the two ends of the spectrum into a circle, in his book Opticks (1704), according to the Cooper Hewitt museum. Web color tools still use that circle.

    The screen color wheel: hue is an angle from 0 to 360 degreesRed 0°Yellow 60°Green 120°Cyan 180°Blue 240°Magenta 300°Screens mix lightRed + green + blue = white.Paint mixes the other way.Hue is an angleOur blue sits at 207°:hsl(207, 97%, 53%)= #1595FB in hex
    Red 0°Yellow 60°Green 120°Cyan 180°Blue 240°Magenta 300°Screens mix lightRed + green + blue = white. Paint is the opposite.Hue is an angle: our blue sits at 207°hsl(207, 97%, 53%) = #1595FB
    The screen hue circle. In CSS the hsl() format uses the angle directly, so “rotate 180 degrees” on the wheel is a number you can type.

    Here is the useful part: because hue is a number, color harmony is simple arithmetic. Add 180 to get the opposite color. Add and subtract 30 to get its neighbours. Hold that thought, because the scheme section below is just angles.

    Hue, saturation and lightness: the three dials of every color

    Every website color can be described with three dials, and knowing them lets you make a whole family of colors from one logo color.

    • Hue is the angle on the wheel: which color it is.
    • Saturation is how pure or grey it is. 0% is grey, 100% is the most vivid version. Lowering saturation makes a color duller, not darker.
    • Lightness runs from black (0%) to white (100%). A tint is the color with white added, a shade has black added, and a tone has grey added.

    Keep the hue, slide the lightness, and you get a ramp: light tints for backgrounds, the pure color for big buttons, dark shades for text and links. This is how design systems work. Google’s Material Design, for example, builds every scheme from five key colors, each with a tonal palette of 13 tones.

    One hue, seven lightness steps: tints to the left, shades to the right#E8F4FF1.11:1#ADDAFE1.47:1#50B0FC2.34:1#1595FB3.12:1#0067F24.97:1#07479D8.76:1#0B356E12.0:1Tints (add white)Shades (add black)
    Tints at the top, shades below#E8F4FF1.11:1 on white#ADDAFE1.47:1 on white#50B0FC2.34:1 on white#1595FB3.12:1 on white#0067F24.97:1 on white#07479D8.76:1 on white#0B356E12.0:1 on white
    The SEOs Hut blue ramp. The number under each swatch is its contrast ratio against white. Only the darker three can carry small text, which the contrast section explains.

    The 7 color schemes (the “7 types of color theory”)

    A color scheme is a rule for picking colors by their angle on the wheel. People often call these the 7 types of color theory. Pick one, and your second and third colors stop being guesses. Tap each scheme to see where the colors sit, starting from our brand blue at 207 degrees.

    Color scheme wheel

    Complementary

    Base + the opposite hue (180°)

    The strongest contrast between two hues. Use the opposite color only for the main button so it jumps off the page.

    Scheme Angle rule Best for on a website
    Monochromatic One hue, different lightness Calm, premium sites; add one neutral and you are done
    Analogous Base ± 30° Friendly, soft brands (wellness, cafes); weak button contrast, so darken the button
    Complementary Base + 180° Local services that need one obvious Call or Book button
    Split-complementary Base + 150° and + 210° Contrast with less clash; two accent options
    Triadic Base + 120° and + 240° Playful brands; let one color lead and use the others sparingly
    Tetradic Base + 60°, 180°, 240° Large sites with many sections; hard to balance
    Square Base + 90°, 180°, 270° Rarely right for a business site; too many loud colors

    Neutrals sit outside the wheel: white, greys and near-blacks carry most of a website. That is why the next rule exists.

    The 60-30-10 rule (and the 3-color and 70-20-10 rules)

    The 60-30-10 rule says 60% of your page is one dominant color, 30% a secondary color and 10% an accent. Nielsen Norman Group puts it plainly: “colors should be used in 60%, 30%, and 10% of your design area”, and it advises you to “reserve the accent color for what you want to stand out the most on your page”.

    A page split 60 percent background, 30 percent secondary, 10 percent accentShare of the screen60% Backgroundpage30% Secondaryheader, panels10% Accentbuttons
    60% Backgroundwhite, light grey30% Secondaryheader, panels10% Accentbuttons, key links
    Illustration, not measured data. On a website the 60% is usually white or a very light tint, the 30% is your brand or navy in the header and panels, and the 10% is the button.
    • 60%, dominant: page background. White or an off-white.
    • 30%, secondary: header, footer, cards, section bands. Usually your brand color or a dark navy.
    • 10%, accent: buttons and the one link you care about. If everything is the accent color, nothing is.

    What is the 3-color rule for websites? It is the same idea counted differently: limit the palette to three colors (plus neutrals for text). NN/g’s advice is to “limit your palette to three colors”. The 70-20-10 rule is a quieter variant: more background, a little less secondary, same small accent. Pick 70-20-10 if your brand color is loud, like orange or red.

    Contrast: the one color rule that is math, not taste

    Contrast ratio is a number from 1:1 (no contrast) to 21:1 (black on white) that measures how readable text is on its background, and the web standard sets a minimum. The W3C’s WCAG 2.2 (a W3C Recommendation, latest edition 12 December 2024) asks for:

    What Minimum (AA) Stricter (AAA)
    Normal text 4.5:1 7:1
    Large text (24px, or 18.5px bold) 3:1 4.5:1
    Buttons, input borders, icons, focus rings 3:1 against what is next to them n/a
    Logos and brand names No requirement No requirement

    The pixel sizes come from the W3C’s own note that 14pt and 18pt “are equivalent to approximately 18.5px and 24px”. Two more details trip people up. The ratio is never rounded: the W3C says “4.499:1 would not meet the 4.5:1 threshold”. And 4.5:1 was chosen to make up for the contrast loss of roughly 20/40 vision, so it is not a strict standard, it is a floor.

    Contrast ratio of eight text colors on white, with the 3:1, 4.5:1 and 7:1 lines3:14.5:17:1Aa#00000021.0Aa#0F1F3616.54Aa#29415E10.43Aa#0067F24.97Aa#7676764.54Aa#7777774.47Aa#1595FB3.12Aa#94A3B82.561:121:1
    34.57Aa#00000021.0Aa#0F1F3616.54Aa#29415E10.43Aa#0067F24.97Aa#7676764.54Aa#7777774.47Aa#1595FB3.12Aa#94A3B82.56
    Eight text colors on white, measured with the WCAG 2.2 formula (bar lengths use a log scale). #777777 scores 4.47:1 and fails; #767676, one shade darker, passes at 4.54:1. Our own brand blue #1595FB scores 3.12:1, so on this page it is used for big shapes, and links use #0067F2.

    This is the most failed rule on the web. WebAIM’s 2026 scan of the top one million home pages found low-contrast text on 83.9% of home pages, up from 79.1% in 2025, with an average of 34 low-contrast pieces of text per page. Light grey body copy, white text on bright orange and pale links are the usual causes.

    Most common accessibility failures on one million home pages, WebAIM 2026Low contrast text83.9%Missing image alt text53.1%Missing form labels51.0%Empty links46.3%
    Low contrast text83.9%Missing image alt text53.1%Missing form labels51.0%Empty links46.3%
    The four most common accessibility failures on home pages. Source: WebAIM Million, February 2026.

    How to check a pair yourself: paste both hex codes into the WebAIM Contrast Checker, or use the Palette Lab below, which checks every pair at once. If you like to see the math, the W3C formula is short: turn each color into its relative luminance (L = 0.2126 R + 0.7152 G + 0.0722 B, using linear values), then divide (lighter + 0.05) by (darker + 0.05).

    Design for color blindness: never let color speak alone

    About 1 in 12 men have a color vision deficiency, says the US National Eye Institute, and the most common type makes red and green hard to tell apart. Colour Blind Awareness puts it at 1 in 12 men and 1 in 200 women. For a local business with a few thousand visitors a month, that is a real share of the people trying to book.

    A booking calendar where green means free and red means booked, as most people see it, as red-green color blind visitors see it, and the fixMost visitors see: green = free, red = booked9:0010:0011:001:002:003:00Red-green color blind (simulated)9:0010:0011:001:002:003:00Fixed: the word does the work, color only helps9:00Booked10:00Free11:00Booked1:00Booked2:00Free3:00Booked
    Most visitors see: green = free, red = booked9:0010:0011:001:002:003:00Red-green color blind (simulated)9:0010:0011:001:002:003:00Fixed: the word does the work9:00Booked10:00Free11:00Booked1:00Booked2:00Free3:00Booked
    The middle row is a simulation of deuteranopia (red-green color blindness) using the Machado 2009 model; the hex values were calculated, not guessed. In the fixed version the word carries the meaning.

    WCAG 2.2 has a rule for exactly this, Success Criterion 1.4.1: “Color is not used as the only visual means of conveying information”. In practice:

    • Add words or icons to status colors (“Booked”, “Error: enter a phone number”).
    • Underline links inside paragraphs. If you remove the underline, the W3C technique asks for a 3:1 contrast between the link and the text around it.
    • Do not mark required form fields with red alone. Add “required” or an asterisk with a note.
    • Test it: in Chrome, open DevTools, press Ctrl+Shift+P (Cmd+Shift+P on Mac), type “Rendering”, and use Emulate vision deficiencies to view your page as a color-blind visitor would.

    Does color psychology work? What the research actually says

    Color does change how people feel about a brand, but there is no proven “blue means trust, red means buy” rule you can copy. Here is what holds up when you go back to the studies.

    Website first impressions form in 17 to 50 milliseconds0 ms10 ms20 ms30 ms40 ms50 ms60 ms17 msComplexity and familiarity judged50 msGut feeling about the site formed
    0 ms20 ms40 ms60 ms17 msComplexity judged50 msGut feeling formed
    Sources: Tuch et al. 2012 (17 ms) and Google Research (50 ms). A five-color palette fighting for attention adds complexity before anyone reads a word.

    So the practical lesson is consistency, not magic colors. NN/g’s rule is to “use colors consistently in your interface”: if orange means “book now” on one page, it should mean that everywhere, and nothing else should be orange.

    How to build a website color palette: 5 steps and a free Palette Lab

    You can build a complete, readable website palette from one color in about ten minutes. Follow the five steps, and let the Palette Lab do the math.

    Step 1. Find your brand color’s hex code

    Your logo color is your base. If you do not know its hex code, open your logo or website in Chrome, right-click, choose Inspect, and click any color square in the Styles panel to get the eyedropper. Copy the six-character code, such as #1595FB.

    Step 2. Pick a scheme for your accent

    For most local businesses, complementary gives the clearest Call or Book button. Choose analogous or monochromatic if you want a calmer look.

    Step 3. Give every color a job

    A working website palette has six roles: background, surface (panels and cards), text, muted text, brand (headings, links, header) and button. That is 60-30-10 made concrete.

    Step 4. Prove every text pair passes

    Check text on background, text on surface, muted text, links and the button label. Anything under 4.5:1 gets darker (or lighter), keeping its hue. The lab does this automatically and shows you the fix.

    Step 5. Copy it and paste it into your site

    Copy the hex list into your builder’s color settings (paths below), or copy the CSS if you edit code.

    Palette Lab

    Type your brand color. Get six colors with jobs, checked against WCAG 2.2, and a live preview.

    • Background60%: page background

      #FFFFFF

    Same-day service you can count on

    Licensed local team. Upfront prices, no surprises.

    Book a visitSee prices

    FastMost jobs done today
    LocalTen minutes away
    • Text on backgroundchecking

    Two honest limits. The lab follows the rules on this page, so it will not invent a brand for you; if your logo color is very light (yellow, pastel), it will darken it for text and keep the original for large shapes. And it checks contrast, not taste, so look at the preview and trust your eye on the mood.

    Website Color Cheat Sheet (PDF). One page: the 7 schemes with angles, 60-30-10, the WCAG 2.2 numbers, the six roles and the 60-second check. Free, no email.

    Download the PDF

    Before and after: fixing a local business palette

    Here is a typical small business palette problem, and the same page after the three moves. The business is an example, but every ratio below was calculated with the WCAG formula.

    Before: six colors, three fails

    Riverside PlumbingBook now
    Fast, friendly plumbers

    Serving the whole county with 24/7 emergency repairs and fair prices.

    Call today

    9:0011:00
    • Grey body text #999999 on white2.84:1
    • White on orange #F97316 button2.8:1
    • Light blue #4FA8F7 links on white2.53:1
    • Free or booked shown by color onlyfails 1.4.1

    After: blue + orange, all pass

    Riverside PlumbingBook now
    Fast, friendly plumbers

    Serving the whole county with 24/7 emergency repairs and fair prices.

    Call today

    9:00 Free11:00 Booked
    • Body text #1E293B on white14.62:1
    • White on deep orange #C2410C5.17:1
    • Links #0B5FB0 on white, underlined6.4:1
    • Status in words, color only helpspasses

    Notice what did not change: the brand is still blue and orange, a complementary pair. The fix was lightness, not new colors. Most palettes can be saved the same way: keep your hues, adjust their lightness until they pass.

    Where to set colors in WordPress, Wix, Squarespace and Shopify

    Every major builder has one place for site-wide colors. Change them there, not block by block, so every page stays consistent. These paths come from each platform’s own help pages.

    Platform Where to click
    WordPress (block theme) Appearance > Editor > Styles > Colors > Palette, then edit each color. WordPress docs
    Wix Editor Site Design (left panel) > Color theme. Wix Help
    Squarespace 7.1 Site styles > Colors > Edit palette. Palettes use five colors and ten color themes. Squarespace Help
    Shopify Online Store > Edit theme > Theme settings > Colors > Schemes. Shopify Help

    On a classic WordPress theme or a page builder such as Elementor, look for “Global Colors” in the builder’s site settings. If you or your developer edit CSS, paste the Palette Lab’s CSS at the top of your stylesheet and use the names everywhere:

    :root {
      --color-bg: #FFFFFF;
      --color-surface: #F3F9FF;
      --color-text: #0F1F36;
      --color-brand: #1595FB;
      --color-link: #0067F2;
      --color-button: #C2410C;
    }
    a { color: var(--color-link); }
    .button { background: var(--color-button); color: #FFFFFF; }

    What about dark mode? It is optional. NN/g’s testing found that for people with normal vision “light mode leads to better performance most of the time”, and its survey of mobile users split roughly one third dark, one third light, one third both. If you add it, use the CSS prefers-color-scheme media query, and run every pair through the contrast check again. Do not just invert colors.

    The 60-second color check before you publish

    1. Squint test. Blur your eyes at the page. The main button should be the first thing you see.
    2. Count the colors. Three plus neutrals. If you count five, one of them has no job.
    3. Body text 4.5:1 or more. Including grey captions, footer text and text on photos.
    4. Button label passes. White on a bright button often fails; darken the button or use dark text.
    5. Links are underlined or clearly different from the text around them (3:1).
    6. No meaning by color alone. Run Chrome’s Emulate vision deficiencies once.
    7. Check it on a phone outside. Low contrast that looks fine on a monitor disappears in daylight.

    Colors are one part of a site that earns calls. If you want the rest checked too, run our free Website SEO Audit and the Core Web Vitals Checker, and read how to plan the top of your page in website header examples and how layouts adapt in responsive web design. If you would rather have it done, our web design team builds local business sites with these rules baked in; see the work in our web design case studies.

    FAQs

    What colors are best for a website?

    The best website colors are your brand color plus a white or off-white background, a dark text color and one contrasting accent for buttons. Choose the accent with a scheme such as complementary, then check every text pair reaches 4.5:1 contrast. Readable, consistent colors beat any single “best” color, because no color works if visitors cannot read it.

    How many colors should a website have?

    Most websites need three colors plus neutrals: one dominant, one secondary and one accent, used roughly 60%, 30% and 10%. Neutrals such as white, greys and a near-black for text do not count toward the three. Nielsen Norman Group advises limiting a palette to three colors and keeping the accent for the main call to action.

    What is the best color for a call-to-action button?

    The best button color is the one that contrasts most with the rest of your page and is used for nothing else. Often that is the complement of your brand color, such as orange on a blue site. No color wins on every site, so test your own page if you can. Make sure the label reaches 4.5:1.

    Is pure black text on white bad for websites?

    Pure black on white is not bad: at 21:1 it passes every contrast rule. Many designers prefer a very dark navy or charcoal, such as #0F1F36 at 16.54:1, because it feels softer next to brand colors while staying far above the 4.5:1 minimum. The real problem on most sites is the opposite: grey text that is too light.

    What is the difference between RGB, HEX and CMYK?

    RGB and HEX describe screen colors made of red, green and blue light; HEX is just RGB written as six characters, so #1595FB equals rgb(21, 149, 251). CMYK describes printing ink (cyan, magenta, yellow, black). Use HEX or RGB for your website and CMYK only for printed items like flyers and vans.

    Isha Mussarat
    Written By

    Isha Mussarat

    Former Content Writer

    Isha wrote for the SEOs Hut blog as a content writer, covering website builders, platform comparisons and web design topics. Her articles are maintained and reviewed by the current team.

    Reviewed by Tarek Zaman, Manager

    Scroll to Top