Skip to main content
guide12 min read

How to Create a Design System in Figma from Scratch

A practical guide to building a Figma design system — tokens, components, documentation, and team handoff. No theory, just steps.

·Benk UI

A Figma design system is not a component library with a nice cover page. It's a shared language — tokens, components, patterns, and documentation — that lets your team make consistent design decisions faster. This guide skips the theory and goes straight to what you actually need to build.

Step 1: Define Your Design Tokens First

Design tokens are the primitive values everything else is built on: colours, spacing, typography, border radii, shadows. In Figma, these are your Styles and Variables.

Set up your colour system as Figma variables (not just styles): primitive values (grey-100 through grey-900, brand-500, etc.) and semantic aliases (background, foreground, primary, muted, etc.). When you change grey-100, everything using the background semantic token updates automatically.

For spacing, use a multiple-of-4 scale: 4, 8, 12, 16, 20, 24, 32, 40, 48, 64px. For typography, define 5–7 text styles: display, heading, subheading, body, caption, label, code.

Step 2: Build Component Primitives

With tokens defined, build the smallest reusable components: button, badge, tag, input, select, checkbox, radio, toggle, avatar, icon. These are the atoms of your design system.

Each primitive should have all relevant states as component variants: default, hover, active/pressed, disabled, loading. Use auto layout throughout — see our Figma auto layout guide if you're not comfortable with it yet.

Step 3: Build Page Sections (The Part Most Teams Skip)

Primitive components are the foundation, but page sections are what speed up actual design work. You won't redesign your button every sprint — you will design new landing pages, feature announcements, and marketing pages regularly.

Build a library of page section components using your primitives as a base:

Building these from scratch takes significant time. A faster approach: start with a pre-built component library and customise the tokens to match your brand. The structure is already correct — you're just overriding the visual layer.

Step 4: Document Usage in the File

A design system without documentation is a component library with a name. Add a dedicated page in your Figma file called “Guidelines” or “Usage” that covers:

  • When to use each component variant
  • Colour usage rules (when to use primary vs. secondary vs. muted)
  • Spacing and layout principles
  • Typography hierarchy — when to use H1 vs. H2 vs. body
  • Do/don't examples for the 3–4 most commonly misused components

Step 5: Maintain It

A design system that isn't maintained becomes a liability. Set a quarterly review cadence:

  • Check all components still match the live product
  • Add components for new features shipped since the last review
  • Update token values if the brand has evolved
  • Remove components that no longer exist in the product

How Long Does This Take?

Tokens and primitives: 3–5 days. Page sections: 5–10 days depending on scope. Documentation: 2 days. Total: roughly 2–3 weeks for a first version.

If you're on a tight timeline, start with an external Figma component library and build your token layer on top of it. You get a functional system in days rather than weeks — then evolve it into a custom system as the product matures.

Copy any of these components directly into Figma

No plugins. Click copy, press Cmd+V in Figma.

Browse Components

Related Articles

Put it into practice — in Figma, right now.

$49 once. Lifetime access to every component, every category, every future addition. 7-day money-back guarantee.