Color is one of the fastest signals a brand sends: first impressions of a product form quickly, often before anyone reads a word of copy. That's exactly why picking colors by scrolling a trend report backwards is such a common mistake. The brands that hold up start from personality and structure, then choose colors to match, not the other way around.
Start with personality, not colors
Write down four or five adjectives that describe the brand: bold, trustworthy, playful, premium, minimalist, whatever actually fits. Those words become the filter for every color decision that follows. A brand aiming for "trustworthy" and "innovative" points toward blue with a clean, energetic accent like orange or teal, not because that's a rule, but because those associations are well-documented and widely shared, which is exactly what makes them useful as a starting point rather than a constraint. To go from adjectives to actual colors, see how to turn those words into a palette.
The structure that actually holds up
How many colors a brand palette needs is genuinely debated: branding guides range from as few as 2 strategic colors up to 7, depending mostly on whether neutrals get counted toward the total. Most converge somewhere in the middle: a primary color that anchors the identity, one or two secondary colors, an accent, and one or two neutrals for backgrounds and text. The 60-30-10 rule (60% dominant, 30% secondary, 10% accent) is the most commonly cited way to actually apply that structure once it's chosen, rather than leaving every touchpoint to guesswork. The same rule works indoors, as shown in 60-30-10 in a home.
Check your competitors before you finalize anything
Look at the colors the five closest competitors in your category actually use. If everyone defaults to the same palette, there are two legitimate paths: lean into that shared visual language on purpose (a real option in trust-heavy categories like insurance or healthcare, where fitting in can matter more than standing out), or deliberately break from it. Neither is automatically the right call, but choosing blind, without knowing what the rest of the category looks like, isn't really a choice at all.
Color meaning isn't universal
The same color can carry different, sometimes opposite associations across cultures: white reads as purity in Western contexts but signals mourning in parts of Asia; purple reads as luxury in the West but carries mourning associations in parts of Latin America. This matters most for anything with a genuinely global audience. For a fuller breakdown of what specific colors tend to communicate and where that shifts across cultures, see this site's own guide to color meanings.
Don't forget dark mode and contrast
Every brand color decision is also a dark-mode decision now. A color chosen only against a white background can wash out or lose all contrast once it's placed on a dark one, and poor contrast is one of the most commonly cited brand-color mistakes for a plainer reason too: light gray text on white might look elegant, but it's genuinely harder to read. Before finalizing a palette, check it against both a light and dark background using this site's own contrast checker, and see choosing dark mode colors for the fuller framework on adapting a palette across both themes properly, rather than just inverting it.
A worked example with a made-up brand
Harbor Row Coffee is invented for this page, so nothing here is real brand data. Start with four adjectives: warm, local, unpretentious, trustworthy. Warm and unpretentious point toward earthy tones. Trustworthy points toward a deep blue-green rather than a bright blue. One possible result, using the 60-30-10 split with cream as the 60:
- Cream #F6F0E6 neutral, 60%, backgrounds
- Deep teal #1F5C5A primary, 30%, headers and buttons
- Burnt orange #C8641E accent, 10%, highlights
- Walnut #8A5A3C secondary, supporting text and borders
- Espresso #2B2622 neutral, body text
Then check the pairings you plan to use. These ratios use the WCAG 2.2 formula:
| Pairing | Ratio | Normal text (4.5:1) |
|---|---|---|
| Espresso on cream | 13.2:1 | Pass (also AAA) |
| Deep teal on cream | 6.8:1 | Pass |
| Cream on deep teal (button text) | 6.8:1 | Pass |
| Walnut on cream | 5.1:1 | Pass |
| Burnt orange on cream | 3.5:1 | Fail (passes the 3:1 bar for large text and UI parts) |
The accent is the lesson. It looks right and fits the personality, but at 3.5:1 it cannot carry body text on cream. Keep it for large headings, icons and borders, or darken it until it clears 4.5:1. Catching that before launch is what the check is for. Try your own pairs in the contrast checker or build a starting set in the palette generator.
Frequently Asked Questions
How many colors should a brand palette have?
Sources land anywhere from 2 to 7 depending on how neutrals are counted, but most converge around 4 to 6 core colors: a primary, one or two secondary colors, an accent, and one or two neutrals.
Should my brand colors match my industry?
Enough to be understood, not so much that you disappear into it. If every competitor in your category uses the same palette, a deliberate departure can be a real differentiator, but it has to be a choice, not an accident.
Do brand colors need to work in dark mode?
Yes, if your brand appears on screens at all. A color chosen only against a white background can wash out or lose contrast entirely once it's placed on a dark one.
Sources
- Personality-adjective method and competitor checkA common branding-practice approach, not one publisher's method. This guide describes it in its own words.
- Brand palette size range of 2 to 7 colorsBranding guides disagree, mostly on whether neutrals count toward the total, so the page shows a range instead of a single number. No single guide is quoted.
- Cross-cultural color meaning differencesSee this site's own color meanings guide for the fuller breakdown.
- Worked example contrast ratiosThe brand is fictional. The ratios use the WCAG 2.2 relative luminance formula, the same one in this site's contrast checker.
About this page
This is a general framework, not a study. Guides disagree on palette size, mostly on whether neutrals count, so the page shows a range instead of one number. The worked example uses a made-up brand, and its contrast ratios were computed with the WCAG 2.2 formula that this site's contrast checker uses.