Picking the right colors for a project takes longer than it should. You need palettes that look good, meet contrast requirements, work as design tokens, and don't require a full-time designer to maintain.
These tools solve different parts of that problem. Here's what works, what doesn't, and how to actually use them in a development workflow.
Why Developers Need Color Palette Tools
You're building a dashboard, SaaS app, or landing page. You need:
- A primary brand color that works across backgrounds
- Semantic color tokens: success (green), warning (yellow), error (red), info (blue)
- Neutral/gray scale: backgrounds, borders, text, muted text
- Dark mode variants: every color needs to work on both light and dark backgrounds
- Accessible contrast ratios: WCAG AA requires 4.5:1 for normal text, 3:1 for large text
Doing this from scratch takes hours. Good tools get you 80% of the way there in minutes.
1. Coolors — The Quickstart Generator
Best for: Generating initial palette ideas quickly
Coolors is the most popular palette generator. Press spacebar, get a new 5-color palette. Lock colors you like, regenerate the rest.
Features:
- Generate, lock, and shuffle colors
- Adjust saturation, brightness, temperature
- Export as CSS, SCSS, or hex values
- Generate complementary/analogous/triadic palettes
- Color contrast checker built-in
How to use it as a developer:
/* Export from Coolors as CSS custom properties */
:root {
--primary-50: #EEF2FF;
--primary-500: #6366F1;
--primary-900: #312E81;
}
Limitation: 5-color palettes are great for mood boards, but you need 10-step scales (50, 100, 200...900) for design system work. Coolors doesn't generate those automatically.
- coolors.co
- Free (Pro plan available)
2. Radix Colors — Production-Ready Semantic Palettes
Best for: Building accessible UI components with consistent scales
Radix Colors (from the team behind Radix UI) provides 30+ meticulously crafted color scales, each with 12 steps:
| Step | Purpose |
|---|---|
| 1-2 | App backgrounds |
| 3-4 | Subtle backgrounds |
| 5-6 | UI element backgrounds |
| 7-8 | Borders, separators |
| 9-10 | Solid backgrounds |
| 11-12 | Text |
Every scale works in both light and dark mode. The contrast ratios are pre-calculated. You get CSS custom properties, Tailwind config, and figma files.
Installation:
npm install @radix-ui/colors
/* Use Radix color scales in CSS */
@import '@radix-ui/colors/blue.css';
@import '@radix-ui/colors/blue-dark.css';
.button {
background: var(--blue-9); /* Solid blue, AA compliant */
color: white;
}
.button:hover {
background: var(--blue-10);
}
Tailwind integration:
// tailwind.config.js
const { blue, gray } = require('@radix-ui/colors')
module.exports = {
theme: {
extend: {
colors: {
blue: {
1: blue.blue1,
// ... etc
9: blue.blue9,
}
}
}
}
}
Best for: Any project using Radix UI components, or teams that want a mathematically consistent color system.
- radix-ui.com/colors
- Free, open source
3. shadcn/ui Theme Generator
Best for: Projects using shadcn/ui or similar component libraries
shadcn/ui's built-in theme system uses CSS variables mapped to semantic names: --background, --foreground, --primary, --secondary, --muted, --accent, etc.
The official theme generator lets you pick a base color and generates a complete CSS variable set for both light and dark mode.
Generated output looks like:
@layer base {
:root {
--background: 0 0% 100%;
--foreground: 222.2 84% 4.9%;
--primary: 221.2 83.2% 53.3%;
--primary-foreground: 210 40% 98%;
--secondary: 210 40% 96.1%;
--secondary-foreground: 222.2 47.4% 11.2%;
/* ... */
}
.dark {
--background: 222.2 84% 4.9%;
--foreground: 210 40% 98%;
--primary: 217.2 91.2% 59.8%;
/* ... */
}
}
Usage:
- Go to ui.shadcn.com/themes
- Pick your primary and secondary colors
- Copy the generated CSS into your
globals.css
This is the fastest path to a complete, dark-mode-ready color system for shadcn/ui projects.
- ui.shadcn.com/themes
- Free
4. Tailwind CSS Color Generator
Best for: Tailwind projects that need custom brand colors matching Tailwind's scale format
Tailwind's built-in colors use a 50-900 scale. If your brand color is #FF6B2B, you need matching shades from 50 (very light) to 900 (very dark). Doing this manually is tedious.
Recommended tools:
uicolors.app: Enter any hex, get a full Tailwind-format palette. Shows contrast ratios and WCAG compliance for each step.
tints.dev: Another Tailwind-specific palette generator with live preview.
Output format:
// tailwind.config.js
module.exports = {
theme: {
extend: {
colors: {
brand: {
50: '#FFF4EE',
100: '#FFE4CC',
200: '#FFC999',
300: '#FFAD66',
400: '#FF9133',
500: '#FF6B2B', // Your base color
600: '#CC5522',
700: '#993F1A',
800: '#662A11',
900: '#331508',
950: '#1A0A04',
}
}
}
}
}
- uicolors.app
- tints.dev
- Both free
5. Realtime Colors — Preview in Context
Best for: Checking how palettes look in real UI before committing
Realtime Colors shows your color choices applied to an actual web layout in real time. Instead of staring at swatches, you see how your palette looks on a nav, hero section, cards, and buttons.
Why it matters: A palette that looks great as abstract swatches can look terrible in context. Too much contrast, wrong proportions, or colors that clash in UI elements.
Features:
- Live UI preview with your colors applied
- Export as CSS variables, Tailwind config, or JSON
- Dark mode toggle
Font pairing suggestions
Free
6. Huemint — AI-Powered Palette Generation
Best for: Getting unstuck when standard generators aren't giving you what you want
Huemint uses machine learning to generate palettes based on specified relationships (brand, background, foreground, etc.). You define the role each color plays, and it generates coordinated options.
Useful when:
- You know your brand primary color but can't find complementary colors
- You want something less generic than Coolors' output
You're exploring different aesthetic directions
Free
7. ColorBox by Lyft Design
Best for: Generating accessible, perceptually-uniform color scales
ColorBox (open-sourced by Lyft) generates 10-step color scales with perceptual uniformity — meaning each step looks equally different from the last, which isn't always true with simple lightness adjustments.
This matters for:
- Charts where color progression needs to be readable
- Data visualization
Design systems requiring predictable color behavior
Free, open source
Building a Complete Color System for a Web App
Here's a practical workflow combining these tools:
Step 1: Establish your brand primary
Start with your brand color. If you don't have one, pick something from Coolors or let Huemint suggest options.
Step 2: Generate full scales
Use uicolors.app or tints.dev to generate the full 50-900 scale for your primary. Also generate scales for:
- A neutral/gray (for backgrounds, borders, text)
- Success (green)
- Warning (amber/yellow)
- Error (red)
- Info (blue)
Step 3: Map to semantic tokens
Create CSS custom properties with semantic names, not just numeric scales:
:root {
/* Scales */
--blue-500: #3B82F6;
--green-500: #22C55E;
--red-500: #EF4444;
/* Semantic tokens */
--color-primary: var(--blue-500);
--color-success: var(--green-500);
--color-error: var(--red-500);
/* Surface tokens */
--bg-page: #FFFFFF;
--bg-card: #F9FAFB;
--border-default: #E5E7EB;
/* Text tokens */
--text-primary: #111827;
--text-secondary: #6B7280;
--text-muted: #9CA3AF;
}
.dark {
--bg-page: #0F172A;
--bg-card: #1E293B;
--border-default: #334155;
--text-primary: #F1F5F9;
--text-secondary: #94A3B8;
--text-muted: #64748B;
}
Step 4: Verify contrast
Use the contrast checker at webaim.org/resources/contrastchecker or Coolors' built-in checker to verify WCAG compliance for your text/background combinations.
Minimum requirements:
- Normal text (< 18px): 4.5:1
- Large text (≥ 18px or bold ≥ 14px): 3:1
- UI components (buttons, inputs): 3:1
Step 5: Test in dark mode
Don't assume light mode colors invert nicely. Test every semantic token in dark mode explicitly.
Quick Comparison
| Tool | Best Use Case | Output Formats | Free? |
|---|---|---|---|
| Coolors | Palette ideation | CSS, SCSS, hex | Yes |
| Radix Colors | Accessible UI scales | CSS vars, Tailwind | Yes |
| shadcn/ui themes | shadcn projects | CSS vars | Yes |
| uicolors.app | Tailwind scale from brand color | Tailwind config | Yes |
| Realtime Colors | Preview in UI context | CSS vars, Tailwind | Yes |
| Huemint | AI-assisted palette gen | CSS vars | Yes |
| ColorBox | Perceptually-uniform scales | Various | Yes |
Find more free developer tools at DevPlaybook.cc, including a CSS Gradient Generator, Color Picker, and 15+ other tools for daily development work.
Level Up Your Dev Workflow
Found this useful? Explore DevPlaybook — cheat sheets, tool comparisons, and hands-on guides for modern developers.
🛒 Get the DevToolkit Starter Kit on Gumroad — 40+ browser-based dev tools, source code + deployment guide included.
Top comments (0)