Open the app
Color Palette runs entirely in your browser — no install, no sign-up. Visit karan-gera.github.io/color-palette to open the live app.Run locally
If you want to run a local copy or contribute to the project:Generate your first palette
Open the app
Visit the live app or your local dev server. You’ll see a palette of five colors on screen.
Reroll the palette
Press
R to generate a new set of colors. Each press replaces all unlocked colors with new ones derived from the active color relationship.You can also click the Reroll button in the toolbar.Choose a color relationship
Press
The current relationship is shown in the toolbar. Switching relationships and pressing
Q to cycle through the seven color theory modes:| Mode | Description |
|---|---|
| Random | Any random color |
| Complementary | Opposite on the color wheel (180°) |
| Analogous | Adjacent colors (±30°) |
| Triadic | Evenly spaced 120° apart |
| Tetradic | Four colors spaced 90° apart (square) |
| Split-complementary | The complement plus its two neighbors (±30°) |
| Monochromatic | Same hue, varied saturation and lightness |
R gives you palettes that follow the new structure.Try a preset
Press
P to cycle through palette presets. Presets constrain the HSL ranges to a specific mood:- Pastel — soft, light tones (saturation 25–45%, lightness 75–88%)
- Neon — vivid, electric colors (saturation 85–100%, lightness 50–60%)
- Earth Tones — warm, natural hues (hue 15–50°, saturation 25–55%)
- Jewel Tones — rich, deeply saturated (saturation 55–80%, lightness 30–50%)
- Monochrome — grayscale spread (saturation 0–5%)
- Warm — reds, oranges, yellows (hue 330–60°)
- Cool — blues, teals, purples (hue 180–280°)
- Muted — low saturation, subtle (saturation 10–30%)
Shift+P to reroll the current preset without switching to a different one.Lock colors and reroll
Locking a color keeps it in place while you reroll the rest. Locked colors also become the reference for generating new ones — so if you lock a deep teal, the relationship engine builds new colors around that anchor.Lock a color by position
Press the number key matching the color’s position.
1 locks the first color, 2 locks the second, and so on. 0 locks the tenth.A lock icon appears on the color when it’s locked.Reroll the unlocked colors
Press
R. Locked colors stay in place; unlocked colors are replaced with new ones derived from the locked ones.You can also reroll a single color without unlocking it: press
Alt+[number] to reroll just that color. This is useful when one color in an otherwise good palette isn’t working.Copy a color
Click the hex label displayed below any color swatch. A dropdown menu appears — select the format you want and it is copied to your clipboard immediately. Six formats are supported (a seventh, CSS Name, appears only when the color closely matches a CSS named color):| Format | Example |
|---|---|
| HEX | #3b82f6 |
| RGB | rgb(59, 130, 246) |
| HSL | hsl(217, 91%, 60%) |
| CSS Variable | --color-primary: #3b82f6; |
| Tailwind | 'primary': '#3b82f6' |
| SCSS | $color-primary: #3b82f6; |
Export your palette
PressE to open the export dialog.
- Code formats
- Art app formats
Code formats copy to your clipboard or download as a file:Example Tailwind output:
- CSS Variables — generates a
:root { }block with--color-1through--color-N - JSON — a
{ "colors": [...] }array of hex values - Tailwind Config — a ready-to-paste
tailwind.config.jscolorsblock withcolor-1throughcolor-Nkeys - SCSS Variables —
$color-1through$color-Nvariable declarations
Save and share your palette
Save to your browser
Press
S to save the current palette to localStorage. Saved palettes are stored on your device and never leave your browser.Copy a share link
Press
C to copy a share link. The palette data is encoded directly in the URL — no server is involved. Anyone with the link can open your exact palette.Keyboard shortcuts overview
Press/ at any time to see all shortcuts in the app. Here are the most useful ones to know:
| Key | Action |
|---|---|
A / Space | Add a color |
R | Reroll all unlocked colors |
1–9, 0 | Lock / unlock color by position |
Shift+[number] | Delete color by position |
Alt+[number] | Reroll a single color |
Shift+Alt+[number] | Edit a color by position |
Q | Cycle color relationship |
P | Cycle palette preset |
Shift+P | Reroll current preset |
I | Open eyedropper / color picker |
E | Export palette |
S | Save palette |
O | Open saved palette |
C | Copy share link |
Z | Undo |
Shift+Z | Redo |
F | Toggle preview mode |
G | Cycle views (palette / gradient / extract) |
K | Toggle contrast checker |
Y | Toggle harmony score |
T | Cycle theme |
Shift+T | Cycle color blindness simulation |
H | Toggle palette history |
M | Toggle rearrange mode |
/ | Show all shortcuts |
Shift+/ | Open docs |
Next steps
Color relationships
Learn how each color theory mode generates colors and when to use each one.
Presets
Understand the HSL constraints behind each preset and how to combine them with relationships.
Accessibility tools
Check WCAG contrast ratios and preview color blindness simulations.
Export formats
Full reference for all 9 export formats and app import instructions.