#2F8A71 is a mid-toned, cool teal. On the Color Lab it reads with a faded, vintage edge. It carries a legible label as a UI accent and reproduces cleanly in print.
Not just a swatch — here's how #2F8A71 works with other colors. Named schemes with #2F8A71 in its natural role, and a note on why the supporting colors balance it.
Viridian opens this coastal palette with sea-glass and warm sand alongside it, grounded by driftwood grey and a deep-navy anchor.
Viridian plays the worn-leather lead, deepened by saddle brown and an oxblood anchor, softened by aged cream and cooled by a muted forest green.
Viridian anchors this café scheme as the warm mid-tone, lifted by latte cream and a muted sage accent and grounded by espresso brown and a warm charcoal.
Viridian sits between cream and a deep berry here, softened by a blush accent and grounded by charcoal.
Viridian 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 Viridian carrying the quiet middle.
How #2F8A71 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 #2F8A71 at work across the surfaces designers actually ship.
:root {
--color-base: #2F8A71;
--color-base-rgb: 47 138 113;
--color-base-oklch: oklch(57.3% 0.094 171.3);
--color-50: #F3FBF9;
--color-100: #E0F5F0;
--color-200: #C2EADF;
--color-300: #98D7C6;
--color-400: #70C2AC;
--color-500: #4FA68F;
--color-600: #427F6F;
--color-700: #345B51;
--color-800: #253C36;
--color-900: #182522;
--color-on-base: #141310;
}
// tailwind.config.js
colors: {
viridian: {
50: '#F3FBF9',
100: '#E0F5F0',
200: '#C2EADF',
300: '#98D7C6',
400: '#70C2AC',
500: '#4FA68F',
600: '#427F6F',
700: '#345B51',
800: '#253C36',
900: '#182522',
},
}
$base: #2F8A71; $base-ink: #141310; $base-50: #F3FBF9; $base-100: #E0F5F0; $base-200: #C2EADF; $base-300: #98D7C6; $base-400: #70C2AC; $base-500: #4FA68F; $base-600: #427F6F; $base-700: #345B51; $base-800: #253C36; $base-900: #182522; $base-hover: #256D5A; $base-subtle: #BCE0D7;
{
"color": {
"base": {
"value": "#2F8A71",
"type": "color"
},
"onBase": {
"value": "#141310",
"type": "color"
},
"scale": {
"50": {
"value": "#F3FBF9",
"type": "color"
},
"100": {
"value": "#E0F5F0",
"type": "color"
},
"200": {
"value": "#C2EADF",
"type": "color"
},
"300": {
"value": "#98D7C6",
"type": "color"
},
"400": {
"value": "#70C2AC",
"type": "color"
},
"500": {
"value": "#4FA68F",
"type": "color"
},
"600": {
"value": "#427F6F",
"type": "color"
},
"700": {
"value": "#345B51",
"type": "color"
},
"800": {
"value": "#253C36",
"type": "color"
},
"900": {
"value": "#182522",
"type": "color"
}
}
}
}