#31039B is a deep, cool purple. On the Color Lab it reads clean and engineered, quietly premium. It sits well as a supporting tone.
Not just a swatch — here's how #31039B works with other colors. Named schemes with #31039B in its natural role, and a note on why the supporting colors balance it.
Zaffre carries the depth in this luxury scheme, offset by a brass accent and near-black and held together by a deep neutral and an off-white surface.
Zaffre adds the colour to this moody editorial scheme — charcoal and a mid-grey around it, a bone highlight, and a muted jewel accent drawn from Zaffre.
Zaffre 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 Zaffre carrying the quiet middle.
Zaffre opens this coastal palette with sea-glass and warm sand alongside it, grounded by driftwood grey and a deep-navy anchor.
Zaffre glows at the center of this sunset palette, joined by coral and gold, deepened by a plum anchor and cooled with cream.
How #31039B 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 #31039B at work across the surfaces designers actually ship.
:root {
--color-base: #31039B;
--color-base-rgb: 49 3 155;
--color-base-oklch: oklch(34.0% 0.203 280.2);
--color-50: #F5F0FE;
--color-100: #E3D8FD;
--color-200: #C7B1FC;
--color-300: #9F7AF6;
--color-400: #794AE8;
--color-500: #5926CF;
--color-600: #49259D;
--color-700: #38216E;
--color-800: #271948;
--color-900: #19122C;
--color-on-base: #FFFFFF;
}
// tailwind.config.js
colors: {
zaffre: {
50: '#F5F0FE',
100: '#E3D8FD',
200: '#C7B1FC',
300: '#9F7AF6',
400: '#794AE8',
500: '#5926CF',
600: '#49259D',
700: '#38216E',
800: '#271948',
900: '#19122C',
},
}
$base: #31039B; $base-ink: #FFFFFF; $base-50: #F5F0FE; $base-100: #E3D8FD; $base-200: #C7B1FC; $base-300: #9F7AF6; $base-400: #794AE8; $base-500: #5926CF; $base-600: #49259D; $base-700: #38216E; $base-800: #271948; $base-900: #19122C; $base-hover: #27037C; $base-subtle: #BBA4F1;
{
"color": {
"base": {
"value": "#31039B",
"type": "color"
},
"onBase": {
"value": "#FFFFFF",
"type": "color"
},
"scale": {
"50": {
"value": "#F5F0FE",
"type": "color"
},
"100": {
"value": "#E3D8FD",
"type": "color"
},
"200": {
"value": "#C7B1FC",
"type": "color"
},
"300": {
"value": "#9F7AF6",
"type": "color"
},
"400": {
"value": "#794AE8",
"type": "color"
},
"500": {
"value": "#5926CF",
"type": "color"
},
"600": {
"value": "#49259D",
"type": "color"
},
"700": {
"value": "#38216E",
"type": "color"
},
"800": {
"value": "#271948",
"type": "color"
},
"900": {
"value": "#19122C",
"type": "color"
}
}
}
}