#1D2C28 is a near-black neutral with only a whisper of temperate cast. On the Color Lab it reads clean and engineered, quietly premium. It holds up as a large surface and is too dark to lead as a primary accent.
Not just a swatch — here's how #1D2C28 works with other colors. Named schemes with #1D2C28 in its natural role, and a note on why the supporting colors balance it.
Gunmetal Gray is the vivid signal in this product UI — on a near-black surface with cool white, a slate grey and a lighter tint of Gunmetal Gray.
Gunmetal Gray plays the worn-leather lead, deepened by saddle brown and an oxblood anchor, softened by aged cream and cooled by a muted forest green.
Gunmetal Gray 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.
Gunmetal Gray 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.
Gunmetal Gray 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 Gunmetal Gray carrying the quiet middle.
How #1D2C28 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 #1D2C28 at work across the surfaces designers actually ship.
:root {
--color-base: #1D2C28;
--color-base-rgb: 29 44 40;
--color-base-oklch: oklch(27.8% 0.022 176.3);
--color-50: #F6F9F8;
--color-100: #E6EFED;
--color-200: #CEDFDA;
--color-300: #AAC5BE;
--color-400: #88AAA1;
--color-500: #688D83;
--color-600: #546E67;
--color-700: #3F504B;
--color-800: #2B3533;
--color-900: #1C2120;
--color-on-base: #FFFFFF;
}
// tailwind.config.js
colors: {
gunmetal-gray: {
50: '#F6F9F8',
100: '#E6EFED',
200: '#CEDFDA',
300: '#AAC5BE',
400: '#88AAA1',
500: '#688D83',
600: '#546E67',
700: '#3F504B',
800: '#2B3533',
900: '#1C2120',
},
}
$base: #1D2C28; $base-ink: #FFFFFF; $base-50: #F6F9F8; $base-100: #E6EFED; $base-200: #CEDFDA; $base-300: #AAC5BE; $base-400: #88AAA1; $base-500: #688D83; $base-600: #546E67; $base-700: #3F504B; $base-800: #2B3533; $base-900: #1C2120; $base-hover: #17231F; $base-subtle: #B3C8C2;
{
"color": {
"base": {
"value": "#1D2C28",
"type": "color"
},
"onBase": {
"value": "#FFFFFF",
"type": "color"
},
"scale": {
"50": {
"value": "#F6F9F8",
"type": "color"
},
"100": {
"value": "#E6EFED",
"type": "color"
},
"200": {
"value": "#CEDFDA",
"type": "color"
},
"300": {
"value": "#AAC5BE",
"type": "color"
},
"400": {
"value": "#88AAA1",
"type": "color"
},
"500": {
"value": "#688D83",
"type": "color"
},
"600": {
"value": "#546E67",
"type": "color"
},
"700": {
"value": "#3F504B",
"type": "color"
},
"800": {
"value": "#2B3533",
"type": "color"
},
"900": {
"value": "#1C2120",
"type": "color"
}
}
}
}