Atomic Design: methodology and practical application
How to organise components into five levels to build scalable, maintainable interfaces
Atomic Design is a methodology created by Brad Frost in 2013 that proposes organising UI components into five hierarchical levels inspired by chemistry: atoms, molecules, organisms, templates and pages. Its goal is to establish a shared vocabulary for thinking about interface composition.
More than a decade after its publication, Atomic Design remains the most widely referenced methodology for structuring design systems and component libraries. This guide explains each level, how to apply it in practice, and when it makes sense to adopt it — and when it does not.
Atoms: the indivisible building blocks
Atoms are the most basic, indivisible components of an interface. They are native HTML elements or minimal abstractions: buttons, inputs, labels, icons, colours, typography. They cannot be broken down further without losing their function.
In practice, the atoms of a design system include design tokens (colours, spacing, typography) and base components that do not contain other components. A button is an atom. An icon is an atom. A text input is an atom. They are the smallest Lego bricks.
- Examples: Button, Input, Label, Icon, Avatar, Badge, Divider
- Consume design tokens directly (colours, typography, spacing)
- Do not depend on other components in the system
- Must be highly reusable and configurable via props
Molecules: simple purposeful combinations
Molecules are combinations of atoms that form a component with a specific function. A search field (input + button + icon) is a molecule. A form field (label + input + error message) is a molecule. The key is that the combination has a clear functional purpose that the individual atoms do not.
Molecules are the level where components start being useful in real contexts. An isolated atom (an input) does not solve any UX problem. A molecule (a search field) does. This jump in value is important because it marks the point where system consumers begin to feel the benefit of reuse.
- Examples: SearchField, FormField, NavLink, MediaCard, Pagination
- Combine 2–5 atoms with a clear functional purpose
- Maintain focused responsibility: one molecule = one function
- Generic enough to be reused across different contexts
Organisms: complete interface sections
Organisms are relatively complex interface sections formed by groups of molecules and atoms. A header with logo, navigation and search is an organism. A complete registration form is an organism. A product card with image, title, price and buy button is an organism.
Organisms are the level where components start becoming product-specific. While atoms and molecules tend to be generic and reusable across projects, organisms reflect the specific structure and needs of the product they are designed for.
- Examples: Header, Footer, ProductCard, RegistrationForm, HeroSection
- Combine multiple molecules and atoms into complete functional sections
- Usually more product-specific than lower levels
- May have their own business logic (validation, data fetching)
Templates: structure without content
Templates define the structure and layout of a page without real content. They are the skeleton that establishes where organisms go, how space is distributed and how the layout responds across different viewports. In a template, texts are "lorem ipsum" and images are placeholders.
This level is valuable in the design process because it allows teams to validate page structure before the final content is ready. Design teams can iterate on composition and layout without being blocked by content creation.
Pages: instances with real content
Pages are concrete instances of templates filled with real content. This is where the system comes alive: placeholders are replaced by real text, real images and real data. Pages reveal whether the template structure works with content of varying lengths and formats.
Pages are the highest-fidelity level and what the end user actually sees. They are also the best context for usability testing, because they represent exactly what the user will encounter. They catch problems that lower levels cannot: titles that overflow, images with unexpected aspect ratios, content combinations that break the layout.
Practical application in real projects
In practice, few teams apply Atomic Design strictly across all five levels. The most common approach is to adopt the philosophy of hierarchical composition without rigidly adhering to the naming. Many teams use three levels (primitives, composites, sections) or four (base, components, patterns, layouts) with the same underlying principle.
What is valuable about Atomic Design is not the exact taxonomy but the mental model: interfaces are built by composing small, reusable pieces into progressively more complex structures. This principle applies regardless of what you call each level.
- Most teams adapt the naming to their own context
- Three levels (base, components, patterns) is often enough in practice
- The project folder structure should reflect the chosen levels
- What matters is the composition principle, not the exact taxonomy
Advantages and limitations
The main advantage of Atomic Design is that it provides a shared vocabulary for discussing interface composition. When a designer says "atom" or "molecule", the whole team understands the level of complexity and reusability being referenced. This conceptual clarity speeds up communication and reduces misunderstandings.
Its main limitation is that the chemistry metaphor breaks down at the upper levels. The distinction between template and page does not always add value in code organisation, and the boundary between molecule and organism can be arbitrary. When classification generates more debate than productivity, it is a sign you are being too rigid with the methodology.
- Pro: shared vocabulary that speeds up team communication
- Pro: promotes reuse and modular composition
- Pro: forces thinking about components before pages
- Con: the chemistry metaphor is strained at the upper levels
- Con: the boundary between molecule and organism can be ambiguous
- Con: five levels may be excessive for small projects
Key Takeaways
- Atomic Design organises components into five hierarchical levels: atoms, molecules, organisms, templates and pages
- The real value lies in the mental model of composition, not the exact taxonomy
- Most teams adapt the methodology to three or four practical levels
- It provides a shared vocabulary that improves communication between design and development
- Do not apply it rigidly: when classification generates more debate than productivity, simplify
Want to structure your design system with a clear methodology?
We help you define the component architecture for your system, adapting Atomic Design or another methodology to your team’s real needs.