Atomic design
Atomic design is a methodology for building interfaces by assembling small, reusable pieces, atoms, into progressively larger ones, molecules, organisms, templates and pages, rather than designing each screen from scratch. It gives designers and developers a shared vocabulary for the parts of an interface, which keeps a growing site or product visually and structurally consistent as new pages get added.
What is atomic design?
Atomic design was formalised by designer Brad Frost as a way to think about interfaces in terms of their smallest building blocks first, then the combinations built from them, borrowing the atom, molecule and organism vocabulary from chemistry as a metaphor. Instead of a mockup file per page, a team maintains a library of components at each level, and a page becomes an assembly of already-approved pieces rather than a one-off drawing. This is what makes atomic design the natural foundation of a modern design system. It matters because it turns design consistency from a discipline a team has to enforce manually into a structure the component library enforces by default.
The five levels of atomic design
A simple example shows how the levels nest inside one another:
Atom: button -> Molecule: search bar (input + button) -> Organism: site header (logo + search bar + nav) -> Template: homepage layout -> Page: homepage with real content
- Atoms: the smallest elements that cannot be broken down further, a button, an input field, a label, a colour token.
- Molecules: small groups of atoms working together, such as a search bar combining an input and a button.
- Organisms: more complex sections built from molecules and atoms, such as a header or a pricing card.
- Templates: page-level layouts that arrange organisms into a structure, with placeholder content.
- Pages: templates filled with real content, the actual screens a visitor sees.
The levels are not a strict production sequence: in practice, teams often move back and forth between them, refining an atom after discovering a need for it while building an organism.
How atomic design connects to a design system
In practice, atoms usually map to design tokens and base components in a tool like Figma, molecules and organisms become the reusable component library, and templates define how those components are allowed to combine on a page. Naming each level consistently, for example button/primary at the atom level and header/default at the organism level, keeps the library searchable as it grows past a few dozen components.
Atomic design vs traditional page-based design
| Aspect | Atomic design | Traditional page-based design |
|---|---|---|
| Starting point | Smallest components first, then assembled upward | Full page mockups designed one by one |
| Consistency | High: every page reuses the same atoms and molecules | Drifts over time as each page is designed separately |
| Speed on new pages | Fast once the component library exists | Slower: each new page is drawn mostly from scratch |
| Handoff to development | Maps directly to reusable UI components | Requires developers to infer the reusable parts themselves |
Best practices and common pitfalls
A library should stay lean: not every visual variation needs a new atom, and over-fragmenting a design into too many tiny components makes the system harder to navigate than the page-based approach it replaced. Organisms and templates should be reviewed as real layouts, not just as a stack of components, since an interface can be atomically consistent while still failing as a whole page. Keeping the same naming convention between the design file and the coded components is what actually saves time at handoff, more than the atomic split itself. It also helps to review the library periodically and retire atoms or molecules that no one uses, since an unmaintained library slowly becomes as inconsistent as the page-based approach it was meant to fix.
Atomic design at BeBranded
We structure every Design engagement around an atom-to-organism component library in Figma before a single full page is drawn, so the resulting design system stays consistent as the product grows.