Color Palette Design Tips: Create Harmonious Combinations
A well-chosen color palette elevates a design from amateur to professional. Color theory provides the framework, but applying it effectively requires understanding both the science and the psychology behind color choices. This guide covers the principles and practical techniques for building palettes that work.
The Color Wheel and Relationships
All color harmony rules are based on positions around the color wheel β a circular arrangement of hues where adjacent colors blend smoothly and opposite colors create contrast.
Complementary Colors
Colors directly opposite each other on the wheel. They create maximum contrast and visual tension.
- Example: Blue (#2563EB) and Orange (#EA580C)
- Use for: Call-to-action buttons, accent elements, emphasis
- Warning: Using complementary colors at full saturation side by side can vibrate visually. Tone one down.
Analogous Colors
Three to five adjacent colors on the wheel. They create calm, harmonious designs.
- Example: Blue (#2563EB), Blue-violet (#7C3AED), Violet (#9333EA)
- Use for: Backgrounds, large surfaces, cohesive branding
- Tip: Choose one dominant color, one supporting, and one accent
Triadic Colors
Three colors equally spaced around the wheel (120Β° apart). Vibrant and balanced.
- Example: Red (#DC2626), Yellow (#CA8A04), Blue (#2563EB)
- Use for: Playful designs, children's products, data visualization categories
Split-Complementary
A base color plus the two colors adjacent to its complement. Less tension than pure complementary.
- Example: Blue (#2563EB), Red-Orange (#EA580C), Yellow-Orange (#CA8A04)
- Use for: Designs that need contrast without the intensity of complementary schemes
Generate these schemes automatically with our Color Palette Generator.
The 60-30-10 Rule
The most reliable ratio for applying colors in any design:
- 60%: Primary/dominant color (backgrounds, large surfaces)
- 30%: Secondary color (cards, panels, supporting elements)
- 10%: Accent color (buttons, highlights, links)
:root {
--primary: #F8FAFC; /* 60% - Light background */
--secondary: #1E293B; /* 30% - Dark surfaces */
--accent: #3B82F6; /* 10% - Interactive elements */
}
This ratio mirrors how interior designers work β and it works for the same psychological reasons. The dominant color establishes the mood, the secondary provides structure, and the accent draws attention.
Building a Palette from Scratch
Step 1: Start with Brand or Mood
Choose a single base color that represents the brand or mood:
- Blue: Trust, professionalism, technology
- Green: Growth, health, nature
- Purple: Luxury, creativity, wisdom
- Red: Energy, urgency, passion
- Orange: Warmth, enthusiasm, affordability
Step 2: Generate Variations
Create 9-10 shades of your base color using HSL manipulation. Keep the hue constant, vary saturation and lightness:
--blue-50: hsl(217, 91%, 97%);
--blue-100: hsl(217, 91%, 93%);
--blue-200: hsl(217, 91%, 85%);
--blue-300: hsl(217, 91%, 75%);
--blue-400: hsl(217, 91%, 65%);
--blue-500: hsl(217, 91%, 60%); /* Base */
--blue-600: hsl(217, 91%, 50%);
--blue-700: hsl(217, 91%, 40%);
--blue-800: hsl(217, 91%, 30%);
--blue-900: hsl(217, 91%, 20%);
For understanding HSL and other color formats, see our color formats guide.
Step 3: Add Neutral Colors
Every palette needs grays. Create a warm or cool gray scale that complements your base color:
/* Cool grays (pair with blue base) */
--gray-50: hsl(210, 20%, 98%);
--gray-100: hsl(210, 16%, 93%);
--gray-500: hsl(210, 10%, 53%);
--gray-900: hsl(210, 24%, 10%);
Step 4: Add Semantic Colors
Status colors for success, warning, error, and info states:
--success: hsl(142, 76%, 36%); /* Green */
--warning: hsl(38, 92%, 50%); /* Amber */
--error: hsl(0, 84%, 60%); /* Red */
--info: hsl(199, 89%, 48%); /* Cyan */
Accessibility Requirements
Contrast Ratios (WCAG 2.1)
| Element | Minimum Ratio | Enhanced Ratio |
|---|---|---|
| Normal text | 4.5:1 | 7:1 |
| Large text (18px+) | 3:1 | 4.5:1 |
| UI components | 3:1 | β |
Color Blindness
8% of men have some form of color vision deficiency. Never use color alone to convey information:
- Add icons or patterns alongside color indicators
- Use sufficient luminance contrast (works even in grayscale)
- Test with color blindness simulators
Dark Mode Palette Strategy
Don't just invert your light palette. Dark mode requires its own considerations:
- Background: Use dark gray (#111827), not pure black (#000000). Pure black creates harsh contrast.
- Text: Use off-white (#F9FAFB), not pure white (#FFFFFF), to reduce eye strain.
- Accent colors: Increase lightness by 10-15% for visibility against dark backgrounds.
- Shadows: Use lighter shadows or subtle glows instead of dark shadows.
/* Light mode */
--bg: hsl(0, 0%, 100%);
--text: hsl(0, 0%, 10%);
--accent: hsl(217, 91%, 60%);
/* Dark mode */
--bg: hsl(220, 20%, 10%);
--text: hsl(0, 0%, 95%);
--accent: hsl(217, 91%, 70%); /* Lighter in dark mode */
Tools for Palette Creation
- Our Color Palette Generator creates harmonious palettes from any base color
- Our Color Converter translates between HEX, RGB, and HSL
- Our Gradient Generator creates smooth transitions between palette colors
FAQ
How many colors should a design palette have?
A complete design system typically includes: 1 primary color (with 9-10 shades), 1-2 accent colors, a neutral gray scale (9-10 shades), and 4 semantic colors (success, warning, error, info). This totals about 40-50 individual color values, but they are all derived from just 3-4 base hues.
Should I design in light mode or dark mode first?
Design in light mode first. It is easier to establish readability and contrast ratios with dark text on light backgrounds. Then derive your dark mode palette by adjusting lightness values. Most color accessibility issues are easier to identify and fix in light mode.
Related Resources
- Color Palette Generator β Generate palettes from any base color
- Color Formats Explained β Understand HEX, RGB, and HSL
- CSS Gradient Guide β Create gradients from your palette colors