#2F2B22 is a near-black neutral with only a whisper of temperate cast. On the Color Lab it reads quietly premium, restrained and easy to live with. It holds up as a large surface and is too dark to lead as a primary accent.
Not just a swatch — here's how #2F2B22 works with other colors. Named schemes with #2F2B22 in its natural role, and a note on why the supporting colors balance it.
Bistre is the vivid signal in this product UI — on a near-black surface with cool white, a slate grey and a lighter tint of Bistre.
Bistre plays the worn-leather lead, deepened by saddle brown and an oxblood anchor, softened by aged cream and cooled by a muted forest green.
Bistre 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.
Bistre 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.
Bistre 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 Bistre carrying the quiet middle.
How #2F2B22 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 #2F2B22 at work across the surfaces designers actually ship.
:root {
--color-base: #2F2B22;
--color-base-rgb: 47 43 34;
--color-base-oklch: oklch(29.0% 0.017 86.9);
--color-50: #F9F8F6;
--color-100: #EEECE7;
--color-200: #DDD9D0;
--color-300: #C2BCAD;
--color-400: #A69E8C;
--color-500: #88806C;
--color-600: #6B6557;
--color-700: #4E4A41;
--color-800: #34322D;
--color-900: #211F1C;
--color-on-base: #FFFFFF;
}
// tailwind.config.js
colors: {
bistre: {
50: '#F9F8F6',
100: '#EEECE7',
200: '#DDD9D0',
300: '#C2BCAD',
400: '#A69E8C',
500: '#88806C',
600: '#6B6557',
700: '#4E4A41',
800: '#34322D',
900: '#211F1C',
},
}
$base: #2F2B22; $base-ink: #FFFFFF; $base-50: #F9F8F6; $base-100: #EEECE7; $base-200: #DDD9D0; $base-300: #C2BCAD; $base-400: #A69E8C; $base-500: #88806C; $base-600: #6B6557; $base-700: #4E4A41; $base-800: #34322D; $base-900: #211F1C; $base-hover: #26231B; $base-subtle: #C7C2B7;
{
"color": {
"base": {
"value": "#2F2B22",
"type": "color"
},
"onBase": {
"value": "#FFFFFF",
"type": "color"
},
"scale": {
"50": {
"value": "#F9F8F6",
"type": "color"
},
"100": {
"value": "#EEECE7",
"type": "color"
},
"200": {
"value": "#DDD9D0",
"type": "color"
},
"300": {
"value": "#C2BCAD",
"type": "color"
},
"400": {
"value": "#A69E8C",
"type": "color"
},
"500": {
"value": "#88806C",
"type": "color"
},
"600": {
"value": "#6B6557",
"type": "color"
},
"700": {
"value": "#4E4A41",
"type": "color"
},
"800": {
"value": "#34322D",
"type": "color"
},
"900": {
"value": "#211F1C",
"type": "color"
}
}
}
}