Skip to main content
New: Forge AI docs + Loop PM assistant. 7-day free trial.
TemplateFREE⏱️ 1-2 hours per component

Design System Documentation Template

A design system component documentation template for product and design teams. Covers component specs, usage guidelines, variants, accessibility requirements, and code examples with a filled example for a Button component.

By Tim Adair• Last updated 2026-03-04
Design System Documentation Template preview

Design System Documentation Template

Free Design System Documentation Template — open and start using immediately

or use email

Instant access. No spam.

What This Template Is For

A design system without documentation is a Figma file that three people understand and nobody else trusts. Documentation is what turns a collection of components into a system that scales across teams. Good documentation answers four questions for every component: what it looks like (specs), when to use it (guidelines), how it behaves (states and interactions), and how to implement it (code).

This template provides a repeatable format for documenting each component in your design system. It covers visual specs (sizing, spacing, color tokens), usage guidelines (when to use and when not to use), variants and states, accessibility requirements, and code implementation notes. The same format works for atoms (buttons, inputs), molecules (search bars, cards), and organisms (navigation bars, data tables).

This pairs with the accessibility audit template for ensuring each component meets WCAG 2.1 AA standards and the design handoff template for communicating component usage to engineers. Teams evaluating their design system maturity can use the AI Design Maturity Model to benchmark where they stand. For broader design process documentation, the design review template provides a framework for reviewing new component proposals.


How to Use This Template

  1. Document one component at a time. Start with the most-used components (buttons, inputs, cards, modals) since those have the highest impact on consistency.
  2. Fill in the Component Overview first: name, description, status, and Figma link. This orients anyone discovering the component for the first time.
  3. Write the Usage Guidelines before the visual specs. Knowing when to use a component is more important than knowing its exact padding values.
  4. Document all variants and states, including edge cases (loading, error, disabled, empty, overflow). Missing states cause engineers to invent their own, breaking consistency.
  5. Include accessibility requirements as a core section, not an afterthought. Each component should specify keyboard behavior, ARIA attributes, contrast requirements, and screen reader announcements.
  6. Add code examples that show real usage, not abstract examples. Copy-pasteable code reduces implementation errors.

The Template

Component Overview

FieldDetails
Component Name[Name, e.g., Button]
CategoryAtom / Molecule / Organism
StatusDraft / Beta / Stable / Deprecated
Owner[Designer and engineer responsible]
Figma Link[Link to Figma component]
Storybook Link[Link to Storybook page, if applicable]
Last Updated[Date]
Version[e.g., 2.1.0]

Description. [1-2 sentences. What does this component do? What problem does it solve?]


Usage Guidelines

When to use:

  • [Scenario where this component is the right choice]
  • [Another appropriate scenario]
  • [Context where this component solves a specific problem]

When NOT to use:

  • [Scenario where a different component is better. Name the alternative.]
  • [Anti-pattern or misuse that teams commonly attempt]
  • [Edge case where this component breaks down]

Placement guidelines:

  • [Where this component appears in the layout: page header, card footer, modal bottom, etc.]
  • [How it relates to adjacent components: spacing from other elements, alignment]
  • [Maximum count per view: e.g., "One primary button per view"]

Variants

VariantUse CaseVisual
Primary[Main action on the page][Figma screenshot or description]
Secondary[Supporting action][Visual]
Tertiary / Ghost[Low-emphasis action][Visual]
Destructive[Delete, remove, cancel][Visual]
Disabled[Action not available][Visual]

States

StateTriggerVisual ChangeNotes
DefaultInitial render[Description]
HoverMouse over[Description]Not applicable on touch devices
FocusKeyboard Tab[Description]Must meet 3:1 contrast for focus indicator
Active / PressedMouse down or Enter key[Description]
LoadingAsync action in progress[Description, e.g., spinner replaces label]Disable interaction during loading
DisabledCondition not met[Description]Use aria-disabled or disabled attribute
ErrorValidation failure[Description]Pair with error message

Design Tokens

PropertyTokenValue
Background (primary)--color-primary[e.g., #06b6d4]
Background (hover)--color-primary-hover[e.g., #0891b2]
Text color--color-text-on-primary[e.g., #ffffff]
Border radius--radius-md[e.g., 8px]
Font size--font-size-sm[e.g., 14px]
Font weight--font-weight-medium[e.g., 500]
Padding (horizontal)--space-4[e.g., 16px]
Padding (vertical)--space-2[e.g., 8px]
Min height--min-height-button[e.g., 36px]
Focus ring--focus-ring[e.g., 2px solid #3b82f6, offset 2px]

Sizing

SizeHeightPaddingFont SizeUse Case
Small (sm)[e.g., 28px][e.g., 8px 12px][e.g., 12px]Dense layouts, tables
Medium (md)[e.g., 36px][e.g., 8px 16px][e.g., 14px]Default, most contexts
Large (lg)[e.g., 44px][e.g., 12px 24px][e.g., 16px]Hero sections, onboarding

Accessibility Requirements

  • Keyboard: [Describe keyboard behavior, e.g., "Activates on Enter and Space. Tab to focus."]
  • Screen reader: [Describe announcements, e.g., "Announces label + role ('Submit, button')"]
  • ARIA: [Required ARIA attributes, e.g., "aria-disabled='true' when disabled, not disabled attribute on non-button elements"]
  • Contrast: [Minimum contrast ratios, e.g., "Text on primary: 4.6:1 (passes AA). Focus ring: 3:1."]
  • Touch target: [Minimum size, e.g., "44x44px minimum for mobile (WCAG 2.5.8)"]
  • Motion: [Animations respect prefers-reduced-motion, e.g., "Loading spinner pauses when reduced motion is set"]

Content Guidelines

ElementGuidelineExample
Label text[Formatting rule][Good and bad examples]
Truncation[How to handle overflow][Max length, truncation behavior]
Localization[How to handle translated strings][Min/max label lengths tested]
Icons[When to include, position][Left-aligned, 16px, with 8px gap]

Code Examples

// Basic usage
<Button variant="primary" size="md" onClick={handleSubmit}>
  Save Changes
</Button>

// With loading state
<Button variant="primary" loading>
  Saving...
</Button>

// Destructive with confirmation
<Button variant="destructive" onClick={handleDelete}>
  Delete Project
</Button>

// Icon + label
<Button variant="secondary" icon={<PlusIcon />}>
  Add Item
</Button>

Props API:

PropTypeDefaultDescription
variant[string enum]'primary'Visual variant
size[string enum]'md'Component size
disabledbooleanfalseDisables interaction
loadingbooleanfalseShows loading indicator
iconReactNodeundefinedOptional icon element
onClickfunctionundefinedClick handler

ComponentRelationship
[Related component 1][How they differ or relate]
[Related component 2][How they differ or relate]
[Related component 3][How they differ or relate]

Filled Example: Button Component

Component Overview

FieldDetails
Component NameButton
CategoryAtom
StatusStable
OwnerDesign: Jordan Lee, Eng: Alex Rivera
Figma Linkfigma.com/file/design-system/button
Storybook Linkstorybook.acme.dev/button
Last UpdatedMarch 2026
Version3.0.0

Description. Buttons trigger actions. They are the primary interactive element for user-initiated operations (submit, save, delete, navigate, toggle).

Usage Guidelines

When to use: Form submission, dialogs (confirm/cancel), page actions (create, export), navigation to a different context.

When NOT to use: Navigation within the same page (use a link instead). Toggling between states (use a toggle switch). Selecting from multiple options (use radio buttons or a select). If it navigates to a URL, use an tag styled as a button, not a

Frequently Asked Questions

How many variants does a design system button need?+
Should I document components that are not yet built?+
How do I handle design system versioning?+
Who is responsible for keeping documentation current?+
What tools should I use for design system documentation?+
Free PDF

Like This Template?

Subscribe to get new templates, frameworks, and PM strategies delivered to your inbox.

or use email

Instant PDF download. One email per week after that.

Want full SaaS idea playbooks with market research?

Explore Ideas Pro →