Complementary
Analogous
Triadic
Split-complementary
Monochromatic
:root {
--palette-complementary-0: #3b82f6;
--palette-complementary-1: #f6af3b;
--palette-analogous-0: #3bdff6;
--palette-analogous-1: #3b82f6;
--palette-analogous-2: #523bf6;
--palette-triadic-0: #3b82f6;
--palette-triadic-1: #f63b82;
--palette-triadic-2: #82f63b;
--palette-split-complementary-0: #3b82f6;
--palette-split-complementary-1: #f6523b;
--palette-split-complementary-2: #dff63b;
--palette-monochromatic-0: #e1e8f4;
--palette-monochromatic-1: #87ace8;
--palette-monochromatic-2: #156af4;
--palette-monochromatic-3: #0f4195;
--palette-monochromatic-4: #0b1a32;
}Color Theory Basics
Color theory describes how colors interact and how humans perceive them. The color wheel organizes hues in a circle: primary colors (red, yellow, blue), secondary colors (orange, green, purple), and tertiary colors in between. Understanding hue relationships helps you create palettes that feel intentional — whether you want harmony (analogous), contrast (complementary), or balance (triadic).
HSL (Hue, Saturation, Lightness) is the ideal model for palette generation because hue directly maps to the color wheel. Changing hue by 180° gives a complement; by 120° gives a triadic partner. Saturation and lightness control intensity and brightness without shifting the base hue.
Palette Types and When to Use Them
Complementary palettes maximize contrast — use for CTAs, alerts, and emphasis. Analogous palettes feel cohesive and natural — ideal for backgrounds, illustrations, and soft gradients. Triadic palettes offer three distinct but balanced hues — good for dashboards, multi-section layouts, and playful brands.
Split-complementary adds nuance to complementary schemes by softening the contrast. Monochromatic palettes use one hue at different saturations and lightnesses — perfect for minimal designs, data viz, and professional interfaces. Choose based on the mood and hierarchy your design needs.
Design Systems and Color Tokens
Modern design systems use semantic color tokens (e.g., --color-primary, --color-surface) that map to palette values. This abstraction lets you swap palettes for themes (light/dark) or brands without changing component code. When building a system, define a base palette first, then derive semantic tokens.
Exporting palettes as CSS variables makes them easy to integrate. Use consistent naming (--palette-{type}-{index}) and document which token maps to which use case. Tools like this generator help you explore options before committing to a design system palette.
Accessibility and Color Palettes
A beautiful palette is useless if text is unreadable. Always check contrast ratios between foreground and background — WCAG AA requires 4.5:1 for normal text and 3:1 for large text. Complementary and triadic palettes can produce low-contrast pairs; test each combination.
Monochromatic palettes are especially prone to contrast issues when adjacent shades are too similar. Use the Color Contrast Checker tool to validate pairs. Consider defining accessible text colors for each palette shade and documenting them in your design system.
Frequently Asked Questions
Related Tools
Explore More Tools
Find this tool useful? Buy us a coffee to keep DuskTools free and ad-light.