What Does Colour Mean in Digital Design and How Do You Build a Colour Scale?

Updated

In digital design, colour is not a single hex value — it is a reusable system of related values that a product uses consistently across screens, states, and platforms. A practical colour system starts with one base colour and expands into a scale: a numbered set of lighter and darker variants (commonly 50–900). You build one by picking a base, generating shades and tints, checking contrast, and exporting the result as design styles or code variables. This matters if you are designing UI, maintaining a design system, or handing work between design and engineering.

Colour as a system, not a swatch

A single swatch answers "what does this button look like?" A colour system answers "what does this button look like when it is hovered, disabled, or placed on a dark background?" That is the difference between a palette and a scale.

A scale typically contains:

  • A base colour — the brand or primary hue, often around the 500 step.
  • Tints — lighter variants (50, 100, 200…) used for backgrounds, hover states, and subtle fills.
  • Shades — darker variants (600, 700, 800, 900) used for text, borders, and pressed states.
  • Neutrals — greys that carry most of the interface, so the accent colour stays meaningful.

The point of numbering is predictability. If a developer needs "the lightest blue," they reach for blue-50 instead of guessing a hex code.

How to build a colour scale

1. Choose one base colour

Start from a brand colour, a client-provided hex, or a hue you have already validated. One base is enough — you are generating a family, not a rainbow.

2. Generate tints and shades

Tools such as Geenes are built for exactly this: its stated purpose is to "create a color scale in seconds, then export it to sketch or code." The workflow is base colour in, scale out. Note that Geenes requires JavaScript to run — its page shows a loading state and a message that it "doesn't work properly without JavaScript enabled," so enable JS before expecting the generator to appear.

If you generate manually, keep the steps perceptually even rather than mathematically even. Adding 10% white to a yellow and 10% white to a blue does not produce equally light results, because human perception of lightness varies by hue.

3. Decide how many steps you need

Scale size When it fits
5 steps Small product, few states, minimal system
9–10 steps (50–900) Most design systems; enough range for backgrounds through text
12+ steps Rarely justified; harder to name and remember

Too few steps and you run out of options for hover and disabled states. Too many and nobody remembers which step is which.

4. Check contrast before you commit

A scale is only usable if its text/background pairings are readable. Test the combinations you actually plan to ship — for example, blue-700 text on blue-50 background — rather than assuming darker always means accessible. Contrast requirements are a general accessibility concern; verify against the standard your project follows.

5. Export to Sketch or code

The output of a scale is not a picture — it is a set of named values. Export as:

  • Sketch styles / shared styles, so designers apply the same colour by name.
  • Code variables (CSS custom properties, Sass variables, or design-token files), so the same names exist in the codebase.

When both sides use primary-500, a colour change happens in one place instead of dozens.

Common problems and how they show up

  • Scale too dense or too sparse. Ten near-identical blues are unusable; three steps leave no room for states.
  • Visible jumps between steps. If 300 to 400 looks like a cliff while 700 to 800 barely changes, the scale was generated by uniform math instead of perceptual spacing.
  • Contrast failures. Light tints look pleasant in a mockup but fail as text backgrounds.
  • Naming drift. Designers say "light blue," developers say #4A90D9, and the system quietly fragments.

What to take away

Treat colour as a named, numbered, exportable system. Pick one base, generate a scale with perceptually even steps, test the pairings you will actually use, and export the same names to both design and code. Tools like Geenes compress the generation step, but the decisions — base colour, step count, contrast, naming — are still yours.