Atomic Design
Build interfaces from the smallest possible pieces — and everything larger takes care of itself.
01 — TL;DR
Two sentences.
Atomic Design is a methodology developed by Brad Frost in 2013 that organises user interface design into five hierarchical levels — atoms (the smallest indivisible UI elements: buttons, inputs, labels), molecules (simple combinations of atoms that form a functional unit: a search field combining a label, an input, and a button), organisms (complex UI sections built from molecules and atoms: a navigation header, a product card grid), templates (page-level arrangements of organisms that define layout without real content), and pages (specific instances of templates filled with real content) — providing a shared mental model and vocabulary that design and engineering teams can use to build, maintain, and scale interfaces consistently. The framework's core insight is that interfaces are not designed from the top down — from pages to elements — but understood and built from the bottom up, because consistency at the atomic level propagates through every higher level of the hierarchy automatically.
The methodology emerged from Frost's observation that the industry was simultaneously becoming more complex — more responsive breakpoints, more device contexts, more feature surface area — and more siloed, with designers producing page-level compositions that engineers then re-interpreted as components, producing inevitable inconsistency between design intent and implemented reality. Atomic Design provides a shared structural vocabulary that makes design and engineering speak the same language about the same things — a button in the design system is the same button in the component library is the same button on every page where it appears.
02 — When to Use
Apply this when…
When NOT to apply it
Skip it when the interface is a one-time, non-scalable deliverable — a marketing campaign microsite, a one-page event website, a prototype that will be discarded — where the investment in an atomic hierarchy exceeds its useful life. Also skip it when the team is too small to maintain a design system, or when the product UI is so specialised or bespoke that standard component composition does not apply.
03 — How It Works
The mechanism
Atomic Design works by establishing a common level of abstraction — the component — at which both design and engineering operate simultaneously. Instead of designers producing page compositions that engineers must decompose into buildable units, both teams work from the same component hierarchy: atoms defined once, combined into molecules, assembled into organisms, arranged into templates. When the atom changes — a button border radius, an input field height, a label font size — the change propagates through every molecule, organism, template, and page that contains it. Consistency becomes structural rather than manual.
Methodology, not system
Atomic Design is a methodology for organising design systems — it is not a design system itself. A design system built on Atomic Design principles still requires decisions about visual language (colour, typography, spacing), interaction patterns, accessibility standards, and documentation practices that the atomic methodology does not specify. Teams that adopt Atomic Design's naming convention without investing in the underlying design decisions produce a well-organised library of inconsistent components — which is organised but not a system.
04 — Real Example
Airbnb's design language system and the atomic rebuild
When Airbnb's design team undertook the creation of their Design Language System (DLS) — one of the most widely cited design system initiatives in the industry — they used Atomic Design's component hierarchy as the structural foundation for organising a system that needed to work across iOS, Android, and web simultaneously. The challenge was not just visual consistency but cross-platform consistency: a button on iOS needed to feel like the same button on Android and on the web, despite the fundamentally different implementation requirements of each platform.
Starting from atoms — defining a shared colour palette, typographic scale, spacing system, and icon set that would be platform-agnostic — the team built upward through molecules and organisms that could be implemented differently on each platform while sharing the same design specification. The DLS allowed Airbnb's design team to ship new features across three platforms simultaneously rather than sequentially, because designers working from the same component library and engineers working from the same component specifications were building the same molecules and organisms regardless of platform. The reduction in design-engineering rework was measurable and significant, and the cross-platform consistency it produced was visible to users.
05 — In the Wild
Test yourself & see real examples
No examples yet — be the first.
Spotted a product whose UI components are visibly inconsistent — buttons that look slightly different on each page, spacing that varies randomly — or one where the design system consistency is so complete it is invisible? Submit what you observed.
Seen Atomic Design applied well or ignored in a real product? Help grow the evidence base.
06 — Common Mistakes
Where teams go wrong
07 — Variations & Related Principles
Connected ideas
Atomic Design is a methodology for structuring design systems — it sits at the intersection of design practice and frontend architecture. Its closest relationships are with the tools and practices that implement its principles in real product workflows.
The most important pairing is Atomic Design with a documented token system. Design tokens — named variables for colour, spacing, typography, and other visual properties that are shared between design files and code — are the lowest level of the atomic hierarchy and the mechanism by which design-engineering consistency is enforced programmatically. An Atomic Design system without tokens has components that are visually defined in Figma and independently re-implemented in code, producing the design-engineering drift that Atomic Design is intended to prevent.
08 — 10-Min Exercise
Run it right now
⏱ 10 minutes · Solo · No prep
1. Open your product and navigate to three different screens — ideally screens from different parts of the product that were built at different times. For each screen, identify the primary call-to-action button.
2. For each button, note: what colour is it? What border radius? What font size and weight? What padding values? Write down the values as precisely as you can estimate from observation.
3. Compare the three buttons. If any visual property differs between the three — if one button has a slightly different border radius, or a subtly different shade, or different padding — you have identified a design system atom that exists in your product but is not consistently defined. This is atomic design debt: the button atom has been independently recreated multiple times with small variations.
4. Count the number of properties that are inconsistent across the three buttons. Each inconsistency is a token that should be defined at the atom level and propagated through the system. If more than two properties are inconsistent, your product's atom layer has accumulated enough drift to justify a design system audit — and Atomic Design's component hierarchy is the framework for conducting that audit systematically.