nuaaance

3 COLOR SCALES

show

VISUAL TEST

ACCESSIBLE COLOR SCALE GENERATOR

nuaaance is a free color scale generator for interface design. Build web-ready shades in OKLCH, shape hue and chroma curves, and keep lightness consistent across multiple color scales.

Compare WCAG contrast, test the scales in a UI preview, copy HEX colors and export the complete chart as Figma color variables. Charts stay in your browser unless you choose to send feedback.

WHAT THE CONTROLS MEASURE

Perceptual OKLCH

All scales share the same L values unless you apply a manual correction. Oklab improves perceptual uniformity, but it does not guarantee identical appearance or identical WCAG contrast ratios.

Aligned contrast

Every level targets the same relative luminance Y by adjusting L. Ratios against white and black therefore remain close, with small differences caused by HEX rounding.

Manual corrections are suspended in this mode.

Hue and chroma

The base hue matches the displayed median shade exactly. With 10 shades, this is level 400; with an odd number, it is the single center value.

Two independent curves accelerate or delay the light-to-median and median-to-dark transitions without moving their three reference hues. Setting both curves to zero gives a linear progression on each side.

The chroma curve connects three points with smooth interpolation based on L. Out-of-gamut colors are mapped to sRGB by reducing chroma while preserving L and hue.

This is a conservative method specific to this tool, rather than the complete CSS gamut-mapping algorithm.

Overall saturation

This control proportionally reduces the target HSL saturation, then lowers chroma while preserving OKLCH lightness and hue. An additional check on the rounded HEX value ensures that its HSL saturation does not exceed the chosen cap.

At 100%, the original colors are preserved; at 0%, the output is neutral. Near white or black, HEX steps may require a neutral gray.

Contrast mode accounts for desaturation before the final check. Displayed contrast ratios are always recalculated from the final HEX values.

Text contrast

Ratios are calculated from the displayed HEX values and the selected background.

The AA marker uses 4.5:1 for normal text; 3:1 applies to large text under WCAG conditions.

A ratio alone does not certify an entire interface as accessible.

Levels

With 10 shades: 050, 100, 200…900. An 11th shade adds 950. Larger scales insert intermediate multiples of 50, up to 000–950 at 20 shades.

These labels are names rather than lightness values. You can edit them in chart settings.

Local

No calculation or color scale is sent to a server. Settings are kept in this browser’s local storage when available.

Björn Ottosson — OklabW3C — CSS Color 4W3C — WCAG 2.2, contrast

edit shade values

Choose a unique, ascending value from 000 to 999 for each shade.

import this chart into figma variables

Use the local plugin to create or update this chart as color variables in Figma.

download plugin
how to install the plugin
  1. Download and unzip the plugin archive.
  2. Open a Design file in Figma Desktop.
  3. Choose Plugins → Development → Import plugin from manifest…
  4. Select the downloaded manifest.json.

Scale names and shade numbers stay unchanged. Edit only what appears between them.

Copy the variables, run nuaaance variables in Figma, paste the export and choose import variables. The chart name becomes the collection name.

delete this scale?

The scale and all its settings will be deleted.

load a chart

delete this chart?

and all its color scales will be permanently deleted. This action cannot be undone.

feedback & request

Share an idea, a request or something that could work better.