#31352B is a mid neutral with only a whisper of temperate cast. On the Color Lab it reads quietly premium, restrained and easy to live with. It is too muted to lead as a primary accent and reproduces cleanly in print.
Not just a swatch — here's how #31352B works with other colors. Named schemes with #31352B in its natural role, and a note on why the supporting colors balance it.
Onyx leads this botanical set among foliage greens and a terracotta accent, softened by cream and grounded in bark brown.
Onyx is the vivid signal in this product UI — on a near-black surface with cool white, a slate grey and a lighter tint of Onyx.
Onyx plays the worn-leather lead, deepened by saddle brown and an oxblood anchor, softened by aged cream and cooled by a muted forest green.
Onyx sets a calm, sun-bleached base here, wrapped in bone and paper off-whites and a soft greige, with a single ink accent for wabi-sabi restraint.
Onyx 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 Onyx carrying the quiet middle.
How #31352B 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 #31352B at work across the surfaces designers actually ship.
:root {
--color-base: #31352B;
--color-base-rgb: 49 53 43;
--color-base-oklch: oklch(32.2% 0.018 125.2);
--color-50: #F8F8F7;
--color-100: #EBEDE8;
--color-200: #D7DAD2;
--color-300: #B9BEB1;
--color-400: #9BA191;
--color-500: #7C8372;
--color-600: #62675B;
--color-700: #484B43;
--color-800: #31332E;
--color-900: #1F201D;
--color-on-base: #FFFFFF;
}
// tailwind.config.js
colors: {
onyx: {
50: '#F8F8F7',
100: '#EBEDE8',
200: '#D7DAD2',
300: '#B9BEB1',
400: '#9BA191',
500: '#7C8372',
600: '#62675B',
700: '#484B43',
800: '#31332E',
900: '#1F201D',
},
}
$base: #31352B; $base-ink: #FFFFFF; $base-50: #F8F8F7; $base-100: #EBEDE8; $base-200: #D7DAD2; $base-300: #B9BEB1; $base-400: #9BA191; $base-500: #7C8372; $base-600: #62675B; $base-700: #484B43; $base-800: #31332E; $base-900: #1F201D; $base-hover: #282B23; $base-subtle: #C2C6BC;
{
"color": {
"base": {
"value": "#31352B",
"type": "color"
},
"onBase": {
"value": "#FFFFFF",
"type": "color"
},
"scale": {
"50": {
"value": "#F8F8F7",
"type": "color"
},
"100": {
"value": "#EBEDE8",
"type": "color"
},
"200": {
"value": "#D7DAD2",
"type": "color"
},
"300": {
"value": "#B9BEB1",
"type": "color"
},
"400": {
"value": "#9BA191",
"type": "color"
},
"500": {
"value": "#7C8372",
"type": "color"
},
"600": {
"value": "#62675B",
"type": "color"
},
"700": {
"value": "#484B43",
"type": "color"
},
"800": {
"value": "#31332E",
"type": "color"
},
"900": {
"value": "#1F201D",
"type": "color"
}
}
}
}