#654DB2 is a mid-toned, cool purple. On the Color Lab it reads clean and engineered. It carries a legible label as a UI accent and reproduces cleanly in print.
Not just a swatch — here's how #654DB2 works with other colors. Named schemes with #654DB2 in its natural role, and a note on why the supporting colors balance it.
Royal Purple sits between cream and a deep berry here, softened by a blush accent and grounded by charcoal.
Royal Purple opens this coastal palette with sea-glass and warm sand alongside it, grounded by driftwood grey and a deep-navy anchor.
Royal Purple plays the worn-leather lead, deepened by saddle brown and an oxblood anchor, softened by aged cream and cooled by a muted forest green.
Royal Purple anchors this café scheme as the warm mid-tone, lifted by latte cream and a muted sage accent and grounded by espresso brown and a warm charcoal.
Royal Purple is the single accent in this high-contrast editorial system — set on near-white paper against near-black ink, with a warm grey and a desaturated tint of Royal Purple carrying the quiet middle.
How #654DB2 actually behaves in design work — read from its OKLCH lightness, chroma and hue, not just its raw numbers. Ten signals to help you decide where this color earns its place.
Not a swatch to memorise — a color to build with. Here is #654DB2 at work across the surfaces designers actually ship.
:root {
--color-base: #654DB2;
--color-base-rgb: 101 77 178;
--color-base-oklch: oklch(49.8% 0.154 290.7);
--color-50: #F6F4FB;
--color-100: #E6E2F3;
--color-200: #CEC6E6;
--color-300: #AA9ED1;
--color-400: #8778BA;
--color-500: #68579E;
--color-600: #54487A;
--color-700: #3F3758;
--color-800: #2B273A;
--color-900: #1C1924;
--color-on-base: #FFFFFF;
}
// tailwind.config.js
colors: {
royal-purple: {
50: '#F6F4FB',
100: '#E6E2F3',
200: '#CEC6E6',
300: '#AA9ED1',
400: '#8778BA',
500: '#68579E',
600: '#54487A',
700: '#3F3758',
800: '#2B273A',
900: '#1C1924',
},
}
$base: #654DB2; $base-ink: #FFFFFF; $base-50: #F6F4FB; $base-100: #E6E2F3; $base-200: #CEC6E6; $base-300: #AA9ED1; $base-400: #8778BA; $base-500: #68579E; $base-600: #54487A; $base-700: #3F3758; $base-800: #2B273A; $base-900: #1C1924; $base-hover: #503D8F; $base-subtle: #D3CDE4;
{
"color": {
"base": {
"value": "#654DB2",
"type": "color"
},
"onBase": {
"value": "#FFFFFF",
"type": "color"
},
"scale": {
"50": {
"value": "#F6F4FB",
"type": "color"
},
"100": {
"value": "#E6E2F3",
"type": "color"
},
"200": {
"value": "#CEC6E6",
"type": "color"
},
"300": {
"value": "#AA9ED1",
"type": "color"
},
"400": {
"value": "#8778BA",
"type": "color"
},
"500": {
"value": "#68579E",
"type": "color"
},
"600": {
"value": "#54487A",
"type": "color"
},
"700": {
"value": "#3F3758",
"type": "color"
},
"800": {
"value": "#2B273A",
"type": "color"
},
"900": {
"value": "#1C1924",
"type": "color"
}
}
}
}