#2F28EB is a mid-toned, cool violet. On the Color Lab it reads clean and engineered, bold and ownable. It sits well as a supporting tone.
Not just a swatch — here's how #2F28EB works with other colors. Named schemes with #2F28EB in its natural role, and a note on why the supporting colors balance it.
Ultramarine is the vivid signal in this product UI — on a near-black surface with cool white, a slate grey and a lighter tint of Ultramarine.
Ultramarine opens this coastal palette with sea-glass and warm sand alongside it, grounded by driftwood grey and a deep-navy anchor.
Ultramarine sits between cream and a deep berry here, softened by a blush accent and grounded by charcoal.
Ultramarine 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 Ultramarine carrying the quiet middle.
Ultramarine glows at the center of this sunset palette, joined by coral and gold, deepened by a plum anchor and cooled with cream.
How #2F28EB 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 #2F28EB at work across the surfaces designers actually ship.
:root {
--color-base: #2F28EB;
--color-base-rgb: 47 40 235;
--color-base-oklch: oklch(46.2% 0.270 270.3);
--color-50: #F1F0FE;
--color-100: #DAD9FD;
--color-200: #B7B4F8;
--color-300: #8682ED;
--color-400: #5954DE;
--color-500: #3631C3;
--color-600: #312D95;
--color-700: #282669;
--color-800: #1E1C44;
--color-900: #14132A;
--color-on-base: #FFFFFF;
}
// tailwind.config.js
colors: {
ultramarine: {
50: '#F1F0FE',
100: '#DAD9FD',
200: '#B7B4F8',
300: '#8682ED',
400: '#5954DE',
500: '#3631C3',
600: '#312D95',
700: '#282669',
800: '#1E1C44',
900: '#14132A',
},
}
$base: #2F28EB; $base-ink: #FFFFFF; $base-50: #F1F0FE; $base-100: #DAD9FD; $base-200: #B7B4F8; $base-300: #8682ED; $base-400: #5954DE; $base-500: #3631C3; $base-600: #312D95; $base-700: #282669; $base-800: #1E1C44; $base-900: #14132A; $base-hover: #1913CA; $base-subtle: #C7C6F2;
{
"color": {
"base": {
"value": "#2F28EB",
"type": "color"
},
"onBase": {
"value": "#FFFFFF",
"type": "color"
},
"scale": {
"50": {
"value": "#F1F0FE",
"type": "color"
},
"100": {
"value": "#DAD9FD",
"type": "color"
},
"200": {
"value": "#B7B4F8",
"type": "color"
},
"300": {
"value": "#8682ED",
"type": "color"
},
"400": {
"value": "#5954DE",
"type": "color"
},
"500": {
"value": "#3631C3",
"type": "color"
},
"600": {
"value": "#312D95",
"type": "color"
},
"700": {
"value": "#282669",
"type": "color"
},
"800": {
"value": "#1E1C44",
"type": "color"
},
"900": {
"value": "#14132A",
"type": "color"
}
}
}
}