White Smoke — 11-step color scale

White Smoke (#f5f5f5) sits at 500, untouched. Every other step is White Smoke 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 White Smoke in the generator

8%50
24%100
40%200
56%300
80%400
100%500your color
80%600
56%700
40%800
24%900
8%950
Each step is the base composited over white or black at the opacity shown.#f5f5f5

For text that needs to pass AA on white, 800, 900, 950 clear the 4.5:1 line. On a dark surface, 50, 100, 200, 300, 400, 500, 600, 700 do.

Semantic colors from White Smoke

Success, warning, error and the rest are derived from White Smoke 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.

Derived from #f5f5f5
SuggestedProtanopiaDeuteranopiaTritanopia
success20.520.020.4
warning22.521.626.0
error40.637.943.3
discovery22.422.818.3
info15.318.426.2
neutral21.220.523.2
CIEDE2000 distance from the base under each simulation. The lowest of the three decides, and a dot marks the ones that land under 11.

Every suggested color clears ΔE₀₀ 11 from White Smoke under all three simulations, so nothing needed nudging — the family hues sit far enough from White Smoke on their own.

Export White Smoke

The same five formats the generator produces, for this scale. Copy any block, or open the tool to tweak the ramp first.

CSS
:root {
  --color-color-50: #fefefe;
  --color-color-100: #fdfdfd;
  --color-color-200: #fbfbfb;
  --color-color-300: #f9f9f9;
  --color-color-400: #f7f7f7;
  --color-color-500: #f5f5f5;
  --color-color-600: #c4c4c4;
  --color-color-700: #898989;
  --color-color-800: #626262;
  --color-color-900: #3b3b3b;
  --color-color-950: #141414;
}
SCSS
$color-color-50: #fefefe;
$color-color-100: #fdfdfd;
$color-color-200: #fbfbfb;
$color-color-300: #f9f9f9;
$color-color-400: #f7f7f7;
$color-color-500: #f5f5f5;
$color-color-600: #c4c4c4;
$color-color-700: #898989;
$color-color-800: #626262;
$color-color-900: #3b3b3b;
$color-color-950: #141414;
JavaScript
export const color = {
  50: '#fefefe',
  100: '#fdfdfd',
  200: '#fbfbfb',
  300: '#f9f9f9',
  400: '#f7f7f7',
  500: '#f5f5f5',
  600: '#c4c4c4',
  700: '#898989',
  800: '#626262',
  900: '#3b3b3b',
  950: '#141414',
};
JSON
{
  "color": {
    "50": "#fefefe",
    "100": "#fdfdfd",
    "200": "#fbfbfb",
    "300": "#f9f9f9",
    "400": "#f7f7f7",
    "500": "#f5f5f5",
    "600": "#c4c4c4",
    "700": "#898989",
    "800": "#626262",
    "900": "#3b3b3b",
    "950": "#141414"
  }
}
Figma Variables
{
  "color": {
    "50": {
      "$type": "color",
      "$value": {
        "colorSpace": "srgb",
        "components": [
          0.996078431372549,
          0.996078431372549,
          0.996078431372549
        ],
        "alpha": 1,
        "hex": "#FEFEFE"
      },
      "$extensions": {
        "com.figma.variableId": "VariableID:1:1",
        "com.figma.isOverride": true
      }
    },
    "100": {
      "$type": "color",
      "$value": {
        "colorSpace": "srgb",
        "components": [
          0.9921568627450981,
          0.9921568627450981,
          0.9921568627450981
        ],
        "alpha": 1,
        "hex": "#FDFDFD"
      },
      "$extensions": {
        "com.figma.variableId": "VariableID:1:2",
        "com.figma.isOverride": true
      }
    },
    "200": {
      "$type": "color",
      "$value": {
        "colorSpace": "srgb",
        "components": [
          0.984313725490196,
          0.984313725490196,
          0.984313725490196
        ],
        "alpha": 1,
        "hex": "#FBFBFB"
      },
      "$extensions": {
        "com.figma.variableId": "VariableID:1:3",
        "com.figma.isOverride": true
      }
    },
    "300": {
      "$type": "color",
      "$value": {
        "colorSpace": "srgb",
        "components": [
          0.9764705882352941,
          0.9764705882352941,
          0.9764705882352941
        ],
        "alpha": 1,
        "hex": "#F9F9F9"
      },
      "$extensions": {
        "com.figma.variableId": "VariableID:1:4",
        "com.figma.isOverride": true
      }
    },
    "400": {
      "$type": "color",
      "$value": {
        "colorSpace": "srgb",
        "components": [
          0.9686274509803922,
          0.9686274509803922,
          0.9686274509803922
        ],
        "alpha": 1,
        "hex": "#F7F7F7"
      },
      "$extensions": {
        "com.figma.variableId": "VariableID:1:5",
        "com.figma.isOverride": true
      }
    },
    "500": {
      "$type": "color",
      "$value": {
        "colorSpace": "srgb",
        "components": [
          0.9607843137254902,
          0.9607843137254902,
          0.9607843137254902
        ],
        "alpha": 1,
        "hex": "#F5F5F5"
      },
      "$extensions": {
        "com.figma.variableId": "VariableID:1:6",
        "com.figma.isOverride": true
      }
    },
    "600": {
      "$type": "color",
      "$value": {
        "colorSpace": "srgb",
        "components": [
          0.7686274509803922,
          0.7686274509803922,
          0.7686274509803922
        ],
        "alpha": 1,
        "hex": "#C4C4C4"
      },
      "$extensions": {
        "com.figma.variableId": "VariableID:1:7",
        "com.figma.isOverride": true
      }
    },
    "700": {
      "$type": "color",
      "$value": {
        "colorSpace": "srgb",
        "components": [
          0.5372549019607843,
          0.5372549019607843,
          0.5372549019607843
        ],
        "alpha": 1,
        "hex": "#898989"
      },
      "$extensions": {
        "com.figma.variableId": "VariableID:1:8",
        "com.figma.isOverride": true
      }
    },
    "800": {
      "$type": "color",
      "$value": {
        "colorSpace": "srgb",
        "components": [
          0.3843137254901961,
          0.3843137254901961,
          0.3843137254901961
        ],
        "alpha": 1,
        "hex": "#626262"
      },
      "$extensions": {
        "com.figma.variableId": "VariableID:1:9",
        "com.figma.isOverride": true
      }
    },
    "900": {
      "$type": "color",
      "$value": {
        "colorSpace": "srgb",
        "components": [
          0.23137254901960785,
          0.23137254901960785,
          0.23137254901960785
        ],
        "alpha": 1,
        "hex": "#3B3B3B"
      },
      "$extensions": {
        "com.figma.variableId": "VariableID:1:10",
        "com.figma.isOverride": true
      }
    },
    "950": {
      "$type": "color",
      "$value": {
        "colorSpace": "srgb",
        "components": [
          0.0784313725490196,
          0.0784313725490196,
          0.0784313725490196
        ],
        "alpha": 1,
        "hex": "#141414"
      },
      "$extensions": {
        "com.figma.variableId": "VariableID:1:11",
        "com.figma.isOverride": true
      }
    }
  },
  "$extensions": {
    "com.figma.modeName": "Value"
  }
}

Open White Smoke in the generatorHow the scale is built