Royal Blue — 11-step color scale
Royal Blue (#4169e1) sits at 500, untouched. Every other step is Royal Blue composited over white or black at a decreasing opacity, so the whole ramp stays in one hue family instead of drifting toward another color at the ends.
Open Royal Blue in the generator
For text that needs to pass AA on white, 500, 600, 700, 800, 900, 950 clear the 4.5:1 line. On a dark surface, 50, 100, 200, 300, 400 do.
Semantic colors from Royal Blue
Success, warning, error and the rest are derived from Royal Blue itself, then checked so they stay distinguishable from the base — and from each other — under the three types of color blindness. The distance below is CIEDE2000 after each simulation.
| Suggested | Protanopia | Deuteranopia | Tritanopia |
|---|---|---|---|
| success | 55.2 | 52.5 | 14.9 |
| warning | 56.4 | 60.6 | 65.9 |
| error | 16.9 | 23.4 | 63.0 |
| discovery | 3.8 | 2.1 | 4.1 |
| info | 16.2 | 12.6 | 9.5 |
| neutral | 20.9 | 22.4 | 16.7 |
The discovery suggestion starts out colliding with Royal Blue under Deuteranopia — ΔE₀₀ 2.1, below the 11 threshold — so the engine shifts its hue within the discovery family until the pair pulls apart again.
Export Royal Blue
The same five formats the generator produces, for this scale. Copy any block, or open the tool to tweak the ramp first.
:root {
--color-color-50: #f0f3fd;
--color-color-100: #d1dbf8;
--color-color-200: #b3c3f3;
--color-color-300: #95abee;
--color-color-400: #6787e7;
--color-color-500: #4169e1;
--color-color-600: #3454b4;
--color-color-700: #243b7e;
--color-color-800: #1a2a5a;
--color-color-900: #101936;
--color-color-950: #050812;
}$color-color-50: #f0f3fd;
$color-color-100: #d1dbf8;
$color-color-200: #b3c3f3;
$color-color-300: #95abee;
$color-color-400: #6787e7;
$color-color-500: #4169e1;
$color-color-600: #3454b4;
$color-color-700: #243b7e;
$color-color-800: #1a2a5a;
$color-color-900: #101936;
$color-color-950: #050812;export const color = {
50: '#f0f3fd',
100: '#d1dbf8',
200: '#b3c3f3',
300: '#95abee',
400: '#6787e7',
500: '#4169e1',
600: '#3454b4',
700: '#243b7e',
800: '#1a2a5a',
900: '#101936',
950: '#050812',
};{
"color": {
"50": "#f0f3fd",
"100": "#d1dbf8",
"200": "#b3c3f3",
"300": "#95abee",
"400": "#6787e7",
"500": "#4169e1",
"600": "#3454b4",
"700": "#243b7e",
"800": "#1a2a5a",
"900": "#101936",
"950": "#050812"
}
}{
"color": {
"50": {
"$type": "color",
"$value": {
"colorSpace": "srgb",
"components": [
0.9411764705882353,
0.9529411764705882,
0.9921568627450981
],
"alpha": 1,
"hex": "#F0F3FD"
},
"$extensions": {
"com.figma.variableId": "VariableID:1:1",
"com.figma.isOverride": true
}
},
"100": {
"$type": "color",
"$value": {
"colorSpace": "srgb",
"components": [
0.8196078431372549,
0.8588235294117647,
0.9725490196078431
],
"alpha": 1,
"hex": "#D1DBF8"
},
"$extensions": {
"com.figma.variableId": "VariableID:1:2",
"com.figma.isOverride": true
}
},
"200": {
"$type": "color",
"$value": {
"colorSpace": "srgb",
"components": [
0.7019607843137254,
0.7647058823529411,
0.9529411764705882
],
"alpha": 1,
"hex": "#B3C3F3"
},
"$extensions": {
"com.figma.variableId": "VariableID:1:3",
"com.figma.isOverride": true
}
},
"300": {
"$type": "color",
"$value": {
"colorSpace": "srgb",
"components": [
0.5843137254901961,
0.6705882352941176,
0.9333333333333333
],
"alpha": 1,
"hex": "#95ABEE"
},
"$extensions": {
"com.figma.variableId": "VariableID:1:4",
"com.figma.isOverride": true
}
},
"400": {
"$type": "color",
"$value": {
"colorSpace": "srgb",
"components": [
0.403921568627451,
0.5294117647058824,
0.9058823529411765
],
"alpha": 1,
"hex": "#6787E7"
},
"$extensions": {
"com.figma.variableId": "VariableID:1:5",
"com.figma.isOverride": true
}
},
"500": {
"$type": "color",
"$value": {
"colorSpace": "srgb",
"components": [
0.2549019607843137,
0.4117647058823529,
0.8823529411764706
],
"alpha": 1,
"hex": "#4169E1"
},
"$extensions": {
"com.figma.variableId": "VariableID:1:6",
"com.figma.isOverride": true
}
},
"600": {
"$type": "color",
"$value": {
"colorSpace": "srgb",
"components": [
0.20392156862745098,
0.32941176470588235,
0.7058823529411765
],
"alpha": 1,
"hex": "#3454B4"
},
"$extensions": {
"com.figma.variableId": "VariableID:1:7",
"com.figma.isOverride": true
}
},
"700": {
"$type": "color",
"$value": {
"colorSpace": "srgb",
"components": [
0.1411764705882353,
0.23137254901960785,
0.49411764705882355
],
"alpha": 1,
"hex": "#243B7E"
},
"$extensions": {
"com.figma.variableId": "VariableID:1:8",
"com.figma.isOverride": true
}
},
"800": {
"$type": "color",
"$value": {
"colorSpace": "srgb",
"components": [
0.10196078431372549,
0.16470588235294117,
0.35294117647058826
],
"alpha": 1,
"hex": "#1A2A5A"
},
"$extensions": {
"com.figma.variableId": "VariableID:1:9",
"com.figma.isOverride": true
}
},
"900": {
"$type": "color",
"$value": {
"colorSpace": "srgb",
"components": [
0.06274509803921569,
0.09803921568627451,
0.21176470588235294
],
"alpha": 1,
"hex": "#101936"
},
"$extensions": {
"com.figma.variableId": "VariableID:1:10",
"com.figma.isOverride": true
}
},
"950": {
"$type": "color",
"$value": {
"colorSpace": "srgb",
"components": [
0.0196078431372549,
0.03137254901960784,
0.07058823529411765
],
"alpha": 1,
"hex": "#050812"
},
"$extensions": {
"com.figma.variableId": "VariableID:1:11",
"com.figma.isOverride": true
}
}
},
"$extensions": {
"com.figma.modeName": "Value"
}
}