#F9F9F8 is a light neutral with only a whisper of temperate cast. On the Color Lab it reads clean and engineered, restrained and easy to live with. It holds up as a large surface and is too pale to lead as a primary accent.
Not just a swatch — here's how #F9F9F8 works with other colors. Named schemes with #F9F9F8 in its natural role, and a note on why the supporting colors balance it.
Off White 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.
Off White opens this coastal palette with sea-glass and warm sand alongside it, grounded by driftwood grey and a deep-navy anchor.
Off White leads this botanical set among foliage greens and a terracotta accent, softened by cream and grounded in bark brown.
Off White is the vivid signal in this product UI — on a near-black surface with cool white, a slate grey and a lighter tint of Off White.
Off White 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 Off White carrying the quiet middle.
How #F9F9F8 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 #F9F9F8 at work across the surfaces designers actually ship.
:root {
--color-base: #F9F9F8;
--color-base-rgb: 249 249 248;
--color-base-oklch: oklch(98.2% 0.001 106.4);
--color-50: #F8F8F7;
--color-100: #ECECE9;
--color-200: #D9D9D3;
--color-300: #BDBDB2;
--color-400: #A0A092;
--color-500: #818173;
--color-600: #66665C;
--color-700: #4B4B44;
--color-800: #32322F;
--color-900: #20201D;
--color-on-base: #141310;
}
// tailwind.config.js
colors: {
off-white: {
50: '#F8F8F7',
100: '#ECECE9',
200: '#D9D9D3',
300: '#BDBDB2',
400: '#A0A092',
500: '#818173',
600: '#66665C',
700: '#4B4B44',
800: '#32322F',
900: '#20201D',
},
}
$base: #F9F9F8; $base-ink: #141310; $base-50: #F8F8F7; $base-100: #ECECE9; $base-200: #D9D9D3; $base-300: #BDBDB2; $base-400: #A0A092; $base-500: #818173; $base-600: #66665C; $base-700: #4B4B44; $base-800: #32322F; $base-900: #20201D; $base-hover: #CACAC1; $base-subtle: #FDFDFD;
{
"color": {
"base": {
"value": "#F9F9F8",
"type": "color"
},
"onBase": {
"value": "#141310",
"type": "color"
},
"scale": {
"50": {
"value": "#F8F8F7",
"type": "color"
},
"100": {
"value": "#ECECE9",
"type": "color"
},
"200": {
"value": "#D9D9D3",
"type": "color"
},
"300": {
"value": "#BDBDB2",
"type": "color"
},
"400": {
"value": "#A0A092",
"type": "color"
},
"500": {
"value": "#818173",
"type": "color"
},
"600": {
"value": "#66665C",
"type": "color"
},
"700": {
"value": "#4B4B44",
"type": "color"
},
"800": {
"value": "#32322F",
"type": "color"
},
"900": {
"value": "#20201D",
"type": "color"
}
}
}
}