Color Palette Generator
Generate complementary, analogous, triadic, and more color schemes — HEX, RGB, HSL with one-click copy
Quick presets
Complementary
Opposite colors on the wheel — high contrast, vibrant pairings
Analogous
Adjacent colors on the wheel — harmonious and cohesive
Triadic
Three evenly-spaced colors — balanced and visually rich
Split-Complementary
Base + two colors flanking its complement — softer than pure complementary
Tetradic
Four colors forming a square on the wheel — complex, versatile palette
Monochromatic
Same hue at different lightness levels — elegant and unified
You have a brand primary color — #3b82f6 — and need five more colors for buttons, backgrounds, alerts, and accents that all look intentional together. You could spend an hour in Figma manually rotating hue sliders, or you could use color theory: complementary, analogous, triadic, split-complementary. The math is straightforward but tedious to do by hand, especially when you need HEX, RGB, and HSL values for each result.
Why This Generator (Not Coolors or Adobe Color)
Coolors generates random palettes and lets you lock colors — great for exploration, less useful when you have a specific base color and need mathematically precise harmonies. Adobe Color requires an account. This tool starts from your chosen base color and generates all six harmony types simultaneously — complementary, analogous, triadic, tetradic, split-complementary, and monochromatic — with HEX, RGB, and HSL values ready to paste. Everything runs in your browser; no data is sent anywhere.
Color Harmony: The Science of Beautiful Palettes
Color harmony is the art and science of combining colors that are visually pleasing together. Rather than choosing colors at random, color theory gives us systematic relationships on the color wheel that reliably produce balanced, attractive palettes. Whether you are designing a website, an app interface, a brand identity, or a data visualization, understanding color harmonies helps you make confident, intentional color choices.
This tool generates six types of color harmony palettes from any base color you choose, outputting values in HEX, RGB, and HSL formats ready to paste into your CSS, design tool, or code.
The Six Color Harmonies
Complementary Colors
Complementary colors sit directly opposite each other on the color wheel — 180° apart. Blue and orange, red and green, purple and yellow are all complementary pairs. This creates maximum contrast, making each color pop against the other. Complementary schemes are excellent for call-to-action buttons, infographic highlights, and anywhere you need visual emphasis.
Use when: You want high contrast and vibrant energy. Use one color as the dominant and the other as an accent.
Analogous Colors
Analogous colors are neighbors on the color wheel — typically within 30° of each other. This creates a natural, harmonious palette that feels cohesive and calm. Sunsets, forests, and ocean scenes tend to be analogous. In design, analogous palettes work well for backgrounds, content areas, and anything that should feel unified rather than jarring.
Use when: You want harmony and flow — e.g., landing page backgrounds, illustrations, and nature-inspired designs.
Triadic Colors
Triadic palettes use three colors evenly spaced on the color wheel at 120° intervals. This produces a vibrant, balanced palette that offers strong visual contrast while maintaining color harmony. The primary colors (red, blue, yellow) and the secondary colors (orange, green, purple) are the most famous triadic combinations.
Use when: You need visual richness and balance — ideal for playful brands, children’s products, and designs that need variety without clashing.
Split-Complementary Colors
A refinement of complementary, split-complementary takes the base color and pairs it with the two colors flanking its complement (at 150° and 210°). This gives high contrast like a complementary scheme but with less tension — the two accent colors provide more flexibility and nuance.
Use when: You want the energy of a complementary scheme but prefer a softer, more sophisticated palette. Works well for editorial design and UI components.
Tetradic Colors
Tetradic (or square) palettes use four colors evenly spaced at 90° intervals, forming a square on the color wheel. This is the richest and most complex harmony — it offers the most variety but requires careful balance. One color should typically dominate, with the others used in supporting roles.
Use when: You need a full-featured brand palette with multiple accent colors — e.g., product families, dashboard UI systems, multi-category applications.
Monochromatic Colors
Monochromatic palettes use a single hue with varying lightness levels. This approach is elegant, polished, and easy to maintain consistency across a design. Light tints work as backgrounds, mid-tones for content, and darker shades for typography or borders.
Use when: You want a clean, unified look — popular in minimalist and professional designs. Also great for dark mode UI where you need controlled contrast within a single color family.
Color Formats: HEX, RGB, and HSL
HEX (#rrggbb)
The hexadecimal format is the most common in web development. Each pair of digits represents red, green, and blue intensity from 00 (none) to ff (full). HEX values are used in CSS, HTML attributes, and most design tools.
color: #6366f1;
background-color: #3b82f6;
RGB (rgb(r, g, b))
RGB specifies red, green, and blue components as integers from 0 to 255. It is easier to read and manipulate in code than HEX.
color: rgb(99, 102, 241);
/* Or with alpha: */
color: rgba(99, 102, 241, 0.8);
HSL (hsl(h, s%, l%))
HSL (Hue, Saturation, Lightness) is the most intuitive format for humans. Hue is the color angle on the wheel (0–360°), saturation is the color intensity (0% = grey, 100% = full color), and lightness is the brightness (0% = black, 100% = white).
HSL makes it trivial to create tints and shades, and is the foundation for color harmony calculations.
color: hsl(239, 84%, 67%);
/* Lighter tint of the same hue: */
color: hsl(239, 84%, 80%);
How to Use a Color Palette in Your Project
- Choose a base color using the color picker or by typing a HEX code.
- Pick a harmony scheme that matches your design intent.
- Assign roles to each color: primary (dominant), secondary (accent), and neutral (backgrounds, text).
- Copy the values in your preferred format (HEX, RGB, or HSL) and paste them into your CSS variables, Tailwind config, or design tool.
Example CSS Custom Properties
:root {
--color-primary: #6366f1;
--color-primary-light: #818cf8;
--color-primary-dark: #4f46e5;
--color-accent: #ec4899; /* complementary */
--color-surface: #f9fafb;
--color-text: #1f2937;
}
Example Tailwind Config
// tailwind.config.js
module.exports = {
theme: {
extend: {
colors: {
primary: '#6366f1',
secondary: '#ec4899',
accent: '#10b981',
},
},
},
};
Frequently Asked Questions
What is the best color scheme for a website? It depends on the brand personality and purpose. Analogous palettes feel calm and professional (good for SaaS, finance, healthcare). Complementary palettes feel energetic (good for e-commerce CTAs, sports). Monochromatic palettes feel clean and minimal (good for portfolios and editorial sites).
How do I choose a primary and accent color? Use the dominant color (usually your brand color) as the primary. For the accent, pick one color from a complementary or split-complementary palette that contrasts well. Ensure the accent meets WCAG AA contrast ratio (≥ 4.5:1) when placed over text backgrounds.
What is the 60-30-10 rule in color design? A classic interior design rule applied to UI: 60% dominant color (backgrounds, large areas), 30% secondary color (sidebars, cards), 10% accent color (buttons, links, highlights). This keeps palettes balanced without becoming monotonous.
How many colors should a design palette have? For most web interfaces: 1 primary, 1 accent, 2–3 neutral grays, plus semantic colors (error red, success green, warning amber). Beyond 5–6 colors, palettes become hard to manage consistently.
Why use HSL instead of HEX for CSS?
HSL is more human-readable and easier to adjust programmatically. Need a lighter version? Increase l. Need a less saturated version? Decrease s. CSS supports hsl() natively, and modern browsers support the oklch() variant for even more perceptually uniform adjustments.
Does this tool send my data to a server? No. All color calculations happen entirely in your browser using JavaScript. No color data, inputs, or selections are transmitted to any server.