Partly open laptop glowing with coloured light in a dark room

Web design systems: when you need one and how to start

11 min read

Buttons that look slightly different from page to page, three shades of the same blue, a form component rebuilt for the fourth time: these are the usual signs that a team needs shared design standards. A design system can fix them, but only if someone looks after it. A system built in one push and then left alone soon falls out of date.

Quick answer: a design system is a shared set of styles, reusable components and documentation that a team uses to build a product consistently. Start with an audit of what you already have, turn your core styles into design tokens, build and document the few components you use most, and give the system an owner from the beginning.

What a design system contains

The Nielsen Norman Group defines a design system as a complete set of standards for managing design at scale (opens in a new tab) using reusable components and patterns. In practice it has several layers.

Part
What it holds
Example
Design tokens
Named values for colour, type, spacing and other basic styles
color-action rather than a hard-coded hex value
Style guide
How the brand looks and sounds: colour, typography, imagery, tone of voice
Which colour to use for links and when
Component library
Reusable interface elements with their states and code
Buttons, form fields, alerts, navigation
Pattern library
Combinations of components for common tasks and page types
A sign-up form, an error summary, a search results page
Documentation
When and how to use each part, with examples and a record of changes
Usage guidance and a changelog

The Digital Hub Zone Design System is a small working example. It documents our visual foundations, components, content standards and page patterns.

Tablet showing a hand-drawn landing page wireframe on a desk

Style guide or design system?

A style guide is one part of a design system. It records how things should look and sound: colours, typefaces, imagery and tone of voice. A design system adds the working parts that turn those rules into a product, such as coded components, patterns for common tasks, design tokens and the process for changing them. Many teams start with a style guide and grow it into a system as the same components are reused.

Do you need one?

Not every team needs a full design system. The Nielsen Norman Group’s view is that a system pays off when an organisation expects years of repeated design work, and is unlikely to repay the effort on an early prototype that may change completely. Building a custom system also costs more than adopting an existing one.

For a small team or a single website, a documented colour palette, a type scale and a handful of well-built components often give most of the benefit. Treat that as the start of a system and add to it when the same problems keep coming back.

How long a system takes depends on what it covers. A documented set of tokens and a few core components can be ready in weeks. A system that covers every component and pattern in a large product is built up over months and years, and is never finished, because the product it serves keeps changing.

What the style guide should define

The style guide sets the visual decisions that every component builds on. Record each decision with the reason for it, so the team can apply it to cases the guide does not cover.

Area
What to define
Common gap
Colour
Brand, text, background, border and status colours, with the pairs that meet contrast requirements
Hover, focus and disabled states that fail contrast
Typography
Font families, a type scale, line heights and which heading level uses which size
Sizes chosen per page rather than from the scale
Spacing
A spacing scale, such as 4, 8, 16, 24 and 32 pixels, used for padding, margins and gaps
One-off values that drift over time
Layout
Grid, content widths and breakpoints
Components that only work at one width
Icons and imagery
Icon style and sizes, image ratios, and when an image needs alt text
Icons used without a text label
Voice and tone
How the product addresses people, button wording and error message style
Different wording for the same action

The Accessible Colour-Palette Builder and the Responsive Typography Calculator help with the colour and type decisions.

How to start

Work through these steps in order. Each one makes the next easier.

1. Audit what you already have

Collect screenshots of every button, form field, heading style and colour in use across the product, and list the components developers have built more than once. Note the inconsistencies: five button styles, twelve greys, three ways of showing an error. The audit shows what to consolidate first and gives you evidence when you ask for time to fix it.

Person sketching mobile app wireframes on paper beside a smartphone

2. Agree a few principles

Write down the decisions that every component should follow: how the product should feel, how interactions behave, and your accessibility standard. WCAG 2.2 (opens in a new tab) at level AA is the usual benchmark. Principles give the team a way to settle disagreements without starting from scratch each time.

3. Turn core styles into design tokens

Design tokens store basic style decisions as named values, so a change made in one place carries through every component and platform. In October 2025 the W3C Design Tokens Community Group published the first stable version of its design tokens format (opens in a new tab), a shared file format that design and development tools can read and write. It supports themes such as light and dark modes, references between tokens and modern colour spaces.

Name tokens by their role rather than their value. A token called surface or text-muted still makes sense when the colour changes; a token called grey-200 does not. Many teams use two layers: primitive tokens for the raw palette, and semantic tokens that point to them and are used in components. Our colour and semantic-token reference shows this approach.

4. Build the components you use most

Start with the components that appear on almost every page: buttons, links, form fields, error messages and navigation. Build each one to work at every screen width and with a keyboard and screen reader before it enters the library, because fixing a shared component later means retesting every page that uses it. The Digital Hub Zone accessibility acceptance checklist covers keyboard use, focus visibility, contrast, zoom, structure and error handling.

Add components when a real need appears on more than one page, not in case they are needed. A smaller library that people trust is more useful than a large one full of untested parts.

5. Document as you build

Write the guidance for each component at the same time as the component. Documentation that arrives later rarely arrives at all. For each component, record:

  • what it is for, and when to use something else instead;
  • its variants and states, including hover, focus, disabled, loading and error;
  • accessibility notes, such as the keyboard behaviour and how it is announced by screen readers;
  • the content rules, such as maximum label length and how to word it;
  • a working code example and the design file it comes from;
  • do and don’t examples taken from your own product.
Three graphic design books propped up on a sofa

6. Give the system an owner

A design system needs ongoing care. The Nielsen Norman Group suggests a dedicated team that includes at least an interaction designer, a visual designer and a developer, with a senior sponsor to secure time and funding. On a small team the owner may be one person for part of their week, but the responsibility still needs a name against it.

How to manage changes

A system that cannot change gets worked around, and one that changes without warning breaks the products that use it. Agree how changes happen before the first request arrives.

  • Give people one place to propose a new component or report a problem, and say how requests are reviewed.
  • Version the coded components. Semantic versioning (opens in a new tab) is a common convention: the first number changes for updates that break existing use, the second for new features and the third for fixes.
  • Keep a changelog in plain language that says what changed, why and what teams need to do.
  • Mark components that are being retired, say what replaces them and give a date.

Tools for building and documenting a system

You do not need all of these. Pick the ones that fit how your team already works.

Tool
Used for
Storing colour, spacing and other values in design files, with modes such as light and dark themes
Tokens Studio
Managing design tokens in Figma and syncing them with code
Turning one set of tokens into CSS, iOS, Android and other formats
Building and showing coded components in isolation, alongside their documentation
zeroheight
Publishing design system documentation that combines design files and code

The W3C announcement of the design tokens format names Style Dictionary and Tokens Studio among its reference implementations, and Figma and zeroheight among the tools supporting or implementing it.

Keeping the system in use

A system only helps if people use it. Make the system the easiest way to build: components that work well, documentation that answers real questions, and a clear way to request changes.

Involve developers as well as designers from the first component. A system that looks right in design files but is awkward to use in code will be avoided.

Allow documented exceptions when a situation calls for something different, and record them. Repeated exceptions usually show where the system needs a new component or a change to an existing one.

Two people working at desktop computers in a shared office

Common problems and how to handle them

Problem
What usually helps
Teams build their own versions instead of using the system
Find out what the system component lacks, fix it, and show the time saved on a real piece of work
The system falls out of date
Name an owner, review components on a regular cycle and remove what is no longer used
Components are too rigid for real cases
Add documented variants rather than letting teams override styles in their own code
Components are so flexible they stop being consistent
Limit options to the variants the product needs, and document when to use each
Design files and code drift apart
Use the same token names in both, and review design and code changes together

Design systems worth studying

These public systems show how mature teams document their work. Borrow their structure, not their visual style.

System
Maintained by
Useful for
Government Digital Service
Accessible components and patterns for common tasks such as forms, based on research across government
Google
Detailed component documentation and design tokens across platforms
IBM
An open-source system serving a large range of products
Salesforce
Patterns for complex business applications

Next step

Run the audit in step 1 on your own site this week. The CSS Grid and Flexbox guide will help when you turn page layouts into reusable patterns.

Leave a Reply

Your email address will not be published. Required fields are marked *