One color in.
A whole system out.
A complete, accessible palette from one brand color. Evenly spaced ramps, full customization, and contrast checked against WCAG & APCA (a newer contrast measure). Light and dark, ready for Figma.
Any color is a valid starting point.
Warm or cool, vivid or muted. The same rules produce a coherent, balanced system every time.
A real color system is more than a few tints.
Lightening and darkening one color in your design tool gives you muddy middles, dead darks, and shades that drift off-hue. A system people can actually build on has to solve a lot at once. By hand, that's hours of fiddling and still inconsistent.
- ✓Even steps. Shades that feel equally far apart, not clumped.
- ✓A full cast. Primary, two accents, two neutrals, four utility colors.
- ✓Accessible pairings. Text that passes contrast on every surface.
- ✓Light and dark. One set of tokens that flips cleanly.
- ✓No hue drift. Your blue stays blue from 50 to 999.
How Rhapsody builds it.
Six steps, all math, fully deterministic. Run it twice and you get the exact same palette.
We read your color the way your eyes do.
Not in RGB or HSL. Those don't match human perception. Rhapsody places your color in a perceptual model with three honest axes: hue, chroma (how vivid), and tone (how light). Everything downstream works in that space, so the math lines up with what you actually see.
Every step is evenly spaced to the eye.
Steps are placed at equal ΔE (equal perceptual distance) instead of equal math. So 400→500 looks like the same jump as 700→800. No clumping in the mids, no cliff into the darks.
Each hue gets its own light and dark anchors.
Colors don't share a floor and ceiling. A blue can go genuinely dark before it dies; an amber turns muddy if you push it the same way. Rhapsody anchors every ramp by its natural luminance, so each hue spans the widest honest range it has.
Then the whole system follows.
From your one color, Rhapsody derives two accents. One complementary, leaned toward the opposite temperature pole; one analogous, toward the nearer one. It adds warm and cool neutrals tinted at your hue and its exact complement, and four custom utility colors calibrated for unity. No overpowering reds, no neon greens, no one-size-fits-all set bolted onto every brand. Nine ramps that belong together, and room to add your own. Every choice is explained.
Accessible by construction.
Contrast isn't an afterthought. Because the tones are perceptually even and luminance-anchored, legible text/background pairings fall out automatically. They're checked against WCAG and APCA, so the safe pairings are obvious at a glance.
Light and dark, from the same tokens.
Because every ramp runs the full range from near-white to near-black, dark mode isn't a second palette. It's the same tokens, mirrored. Design once; flip with confidence.
Rhapsody recommends two accents. You're never locked in.
A perfectly balanced set of 24 options is one click away for each accent, your neutrals, even each utility color. Or type in your own exact hex. No color theory required.
13 tones, not 11.
Most systems stop at 950. Rhapsody adds 975 and 999, two genuinely deeper tones at the dark end. That's where real dark-mode surfaces and near-black text live, so your darks have somewhere honest to go.
Export it the way you build.
Bind straight into Figma as variables. A tidy, single-mode collection, nested and named so you can alias into your own light/dark layer. Or take the same system to code, to an accessibility audit, or to your canvas.
Figma variables
A single-mode collection, nested and named. Alias straight into your token layer and ship.
Developer JSON
Structured tokens, nested by role plus a flat map. Ready for code or Tailwind.
Accessibility CSV
Every color-pairing with its WCAG ratio and APCA score. Sort and filter the whole matrix in any spreadsheet.
Color System Reference
Your whole system on one poster, dropped on the canvas. Every ramp with its recipe, contrast-safe zones, and a live example built from your colors.
The clear choice, in three questions.
A color tool has to answer three. Most nail one or two; Rhapsody is the only one that clears all three, measured against the whole field.
Can you make it yours?
Fixed palettes hand you presets. You can’t even bring your own color. The generators take your seed, then stop there. Only Rhapsody gives you the controls: your exact color, every ramp’s hue and chroma (accents, neutrals, even the utility colors), your own added ramps, and any shade pinned exactly where you want it.
| Your color | Chroma | Accents & roles | |
|---|---|---|---|
| Rhapsody | ✓ | ✓ | ✓ |
| Material 3 | ✓ | ✓ | ✗ |
| Adobe Leonardo | ✓ | ✗ | ✓ |
| OKLCH | ✓ | ✗ | ✗ |
| Tailwind · Radix · Open Color · Carbon | ✗ | ✗ | ✗ |
Does it hold its hue?
Now it has to make a good ramp. A good ramp stays one hue from light to dark. Rhapsody holds it at 0°, by construction. Feed the same blue to the field and it wanders off the color you picked:
Can you actually ship it?
A ramp isn’t a design system. You need a primary, two accents, warm and cool neutrals, and four semantics. Coordinated, accessible, light and dark. Here’s where a single ramp runs out, and Rhapsody doesn’t.
Only one clears all three.
| Make it yours | Holds hue | Ships a system | |
|---|---|---|---|
| Rhapsody | ✓ | ✓ 0° | ✓ |
| OKLCH (CSS4) | ~ seed only | ✗ 33° drift | ✗ ramp recipe |
| Material 3 | ~ no accents | ✗ 41° drift | ✗ role subset |
| Adobe Leonardo | ~ no chroma | ✗ 52° drift | ✗ contrast set |
| Tailwind | ✗ preset | ✗ 72° drift | ✗ swatch catalog |
| Radix | ✗ preset | ✗ 46° drift | ✗ scale catalog |
Measured in the Rhapsody design-systems benchmark: hue drift in OKLab, readable pairings by WCAG + APCA, tonal span light-to-dark. The field spans published palettes (Tailwind, Radix, Open Color, IBM Carbon) and live generators (Material HCT, Adobe Leonardo, OKLCH). Ramps shown at #266ECA. The generators (Rhapsody, Material HCT, Adobe Leonardo, OKLCH) are swept across 200 colors; the published palettes ship a fixed set and are measured across every ramp they publish: 12 for IBM Carbon, 13 for Open Color, 22 for Tailwind, 31 for Radix. Each figure is that system’s worst ramp.
Generate free. Pay to ship.
Make as many palettes as you like, free. Upgrade when you’re ready to export them into Figma, for about the price of a coffee.
- ✓Unlimited palette generation
- ✓Full 9-ramp system, 13 tones from light to dark
- ✓Smart auto-calibrated accents and chroma levels
- ✓Easy-copy hex codes
- ✓WCAG contrast grid for your primary ramp
- ✓Save and reload whole systems with a free account, on any machine you open Figma on
- ✓The Color System Reference poster: recipes, safe zones, and your system in action dropped right onto your canvas
- ✓One membership, not a plugin subscription. Pro covers every Rhapsody tool, and a purchase on any surface unlocks it everywhere. The Orchestra API is priced on its own.
- ✓Everything in Free
- ✓Export to Figma variables, a full named collection
- ✓Export developer JSON & an accessibility CSV
- ✓Edit every ramp down to the neutrals and utilities: hue wheel, exact hex, chroma, pinning
- ✓Make it your system: add your own ramps and name it
- ✓Every ramp, and APCA as well as WCAG. Perceptual contrast scoring (Lc) across the whole system, not just pass/fail ratios
- ✓Print & collision checks: whether a press can hold your color, and where it reads as error, warning, success or info
- ✓Every future update
Prices in USD. Local currency and sales tax are applied at checkout.
Good to know.
What’s free, and what’s paid?
Generating palettes is free and unlimited, and needs no account at all. Design all you want, preview the whole system, and copy any single shade. A free account gives you two benefits: it saves your systems for easy access from any device, and it lets you add the Color System Reference poster to your canvas. A subscription unlocks the parts that ship real work. Exporting your system covers Figma variables, developer JSON, and an accessibility CSV. Full customization lets you edit any ramp’s hue, exact hex, chroma, and pinning, and add your own ramps. Pro also carries every accessibility contrast grid, and the checks that read your system back to you: whether a press can hold your brand color, and where it sits close enough to error, warning, success or info to be mistaken for them.
What can I export?
Four ways out, three in Pro and one free with an account. A named Figma variables collection. A developer JSON (nested by role plus a flat token map) for code or Tailwind. An accessibility CSV with every color-pairing’s WCAG ratio and APCA score to sort and filter. And the Color System Reference, a poster with every ramp’s recipe, contrast-safe zones, and a live example built from your system, dropped on your canvas, free with any account and no subscription needed.
Do I need to know color theory?
Not at all. Bring one brand color. Rhapsody handles hue, chroma, tone, accessibility, and dark mode for you.
Is it really just math, no AI?
Yes. A deterministic color engine produces the same palette every time. No models, no randomness, fully repeatable.
Will it work with my brand color?
Any color is a valid starting point. Warm or cool, vivid or muted. The same rules produce a coherent system every time.
Does it handle light and dark mode?
Every ramp runs the full range from near-white to near-black, so dark mode is the same tokens, mirrored. Not a second palette.
What color space does it export?
Today every palette ships in sRGB, the universal default that looks right on any screen. Wider-gamut output (Display P3, Rec. 2020) is on the way; the engine already computes in those spaces under the hood.
Can I use it for commercial work?
Absolutely. The palettes you generate are yours to use in any project.
Turn your brand color into a system.
One color in, a complete accessible palette out. Light and dark, ready for Figma. Free to play.