A design system is a reusable set of elements and guidelines that streamline product development for designers and engineers. As competition grows, brands need to scale quickly while maintaining consistency. Everyone’s looking for the “best” one, but the right fit depends on your company’s needs, product goals, and audience. We’ll show you how we arrived at our top picks from multiple angles. Note: all systems in this article are licensed for commercial use.
Through our years of experience working with design systems, these few have stood out to us for their various strengths. Each has a different focus, and is best suited for a different scenario. In our later chapter “Top Scorers for Each Metric”, you can read exactly what each design system scored best in.
Boasts a massive library of feature-rich components specifically aimed at business-facing products, and includes guidelines on its overarching UX philosophy.
Built for expert interfaces that are technically-oriented, yet not necessarily business-facing. It places emphasis on accessibility implementation, and comes with 9 different color blindness modes.
A good blueprint for the classification of components, the creation of complex components and the efficient handling of variables with a modern look and feel.
Uses a unique color system that takes care of accessibility and semantic color roles. Plus, it offers more themable aspects than usual.
Has a huge ecosystem of resources, kits, plugins, and assets. Being widely used, it is easy to find good examples and support.
So, how do you decide if a design system meets your needs? Before we dive into our reviews, let’s look at our criteria for evaluation, and why these aspects are important to consider.
Theming enables your interface to reflect your brand. If you intend to support multiple sub-brands or products under one design system, theming multiple aspects will help to distinguish them from each other.
Alignment between design assets and coded components improves collaboration between designers and developers, speeds up workflows, and increases consistency.
A clear structure and intuitive naming leads to less confusion and misuse of components. A positive experience also increases adoption, fostering alignment between teams and products.
Accessible design systems help meet legal standards like WCAG 2.1, and provide guidance for accessible implementation.
A comprehensive library that has specialised and configurable components will enable your team to build an optimised solution for a variety of specific use cases.
Highly systemized design systems enhance consistency and speed by making design decisions programmatically, but may reduce flexibility and creativity.
Design systems can offer different levels of guidance for components, layouts, UX patterns, motion, and copywriting. This ensures team alignment and consistent implementation.
An ecosystem of official or community-made tools can simplify implementation and boost efficiency. These could be assets, tools, plugins, or support channels.
Originally made for building financial platforms, Ant Design (AntD) is a design system from Alibaba Group aimed at building web enterprise products. Components are available in React, Angular, and Vue.
Important to note: As AntD was originally built and released in Chinese, some parts of the documentation and code may not yet be fully translated, or not translated to a native level of english. Despite this, many have used Ant Design successfully.
Many aspects are themable, such as color, accent color, radius, spacing. Offers different densities for certain components.
No official resources for Figma, only Sketch. We cannot comment on the state of the Sketch file. The third-party ‘Ant for Figma’ kit is kept up to date and includes a plugin that bridges design with code.
No official resources for Figma, only Sketch. Ant recommends the third-party ‘Ant for Figma’, which is quite designer-friendly in terms of naming and structure.
Contrast levels meet WCAG AAA, but the components do not reliably meet requirements when it comes to supporting assistive devices and keyboard navigation.
Easily one of the richest libraries in terms of components and features.
The color palette is generated according to contrast ratios. It uses a flattened color token structure that combines light/dark theming and semantic roles all at the primitive level. Overall, Ant is not meant for creative expression, and takes a very functional approach.
Comprehensive high-level guidance with core values and philosophy inspired by nature, explanation of deeper UX principles, UX patterns, and even covers motion principles and copywriting. Lacks do’s and don’ts at the component level.
Has an ecosystem of tools and resources like a palette generator, illustration library, react library for charts and data visualisation. There’s a third-party plugin to bridge design with code.
The official Ant Design basic & pro are both free for devs, and the Sketch files are free for designers.
However, there are no official Figma resources, and the endorsed third party kit is costly.
Primer is a set of components, guidelines, and tooling for building UI at Github. It was later made open-source for the community to use in their own projects. Primer stands out for its developer-first approach and delivers a robust foundation for consistency and functionality in code-focused platforms. It is available for Rails and React.
The token structure allows for colors, spacing, typography and radius to be themed. It also offers different space densities for certain components.
The Figma library and codebase are not perfectly in sync, in terms of component coverage. However, there is an effort to bring the component structure and token structure closer to code, at the expense of designer-friendliness.
Being a work in progress, some parts of the Figma file can be chaotic or lack detailed explanation. There are some inconsistencies in naming conventions (e.g. mixture of PascalCase and kebab-case). Their token names and component properties are not always easy to understand.
In addition to WCAG 2.1 AA compliance and the accessibility modes, a checklist for assessing the accessibility of designs is also provided. Every component has a description of the accessibility status.
With 80 components currently, it is one of the largest component libraries that we regularly reference.
In the end, Primer is not intended to be highly customised for every brand language, or for visual expression. However, it makes use of a lot of component tokens to enable a more flexible approach to color usage.
Has detailed guidelines on layout, content, writing, and do’s and don’ts for each component. Does not cover many UX patterns, or have any overarching core values.
No plugins or resources or tools. But it does have its own set of icons (Octicons), a web library, and a mobile library.
Blank is a UI kit made for brands who want to build beautiful websites quickly, and need a design-driven and adaptable kit as a launching point. It places a special focus on empowering designers who shy away from coding.
It can be used both by established brands, and brands who are just starting out and creating a new identity. The tokenized structure allows the kit to be highly customisable, and it covers most of the needs of a modern web application.
Visually detail-oriented: While most design systems are focused on systematization and consistency (even at the price of aesthetics), blank is more design driven. We can see this, for example, in the button architecture – while others would just define a simple horizontal padding, Blank ensures that the buttons are optically balanced depending on whether an icon is present or not.
Templates: Blank includes templates with ready-to-use layouts for desktop and mobile, which can help to accelerate workflows, ensure consistency, and contextualise the components in real-world use.
No-code approach: Blank is available on Figma, Framer and Webflow. This enables designers to build and publish sites without coding, and have a consistent experience across the entire process, from designing in Figma, to developing and publishing in Webflow or Framer.
Almost every design decision, except for radius, is tokenized. The system includes dark and light modes, and device-specific breakpoints for text and spacing, ensuring adaptability across various contexts.
Although there are building blocks for Webflow and Framer, there is no repository for any of the common frameworks such as React, Vue or Angular.
Despite the lack of documentation or guidelines, the structure is easy to understand and simple to use. Designers are able to take things into their own hands and publish sites without coding.
There is no statement about the level of accessibility of the components, so this is not prioritised, let alone guaranteed. The primary and secondary text colors pass WCAG AA contrast requirements, the placeholder and link colors do not.
Has more than 30 components with many variants and properties, enabling designers to address a wide range of design scenarios without reinventing the wheel.
Blank uses a component-based token structure for their colors, allowing design decisions to be tailored to individual components rather than applied universally. This approach provides greater flexibility but can sometimes result in reduced consistency. Many components are also available in various shape styles, such as sharp, pill, or rounded.
There is no design guidelines or documentation provided by Blank.
Includes a UI Kit for Figma, Framer and Webflow. Also uses a set of open-source Icons from Remix Icons.
Radix UI is an open-source React library for building web apps, suitable for product & tool interfaces. It is optimized for fast development, easy maintenance, and accessibility. It was made by Work OS. It is a respectable and reliable library that has been adopted by Linear, Supabase, Vercel, Teamflow, the University of Amsterdam, Node.js, and more.
Color system: Radix uses a color role system that is powerful yet easy to use, producing an accessible theme in both dark and light mode with minimal manual effort. Semantic roles and modes are assigned to primitive colors, which reduces decision-making effort and flattens the token structure.
Alpha scales: Every solid color has a translucent equivalent, which harmonises the hues of elements that are layered on top of colored backgrounds.
Developer-first: Radix is very developer friendly and has been praised for its clever component API and performance. The library also comes in an unstyled version that is focused on accessibility and developer experience, making it a base for your own design system.
Almost every aspect is themable. There's the usual ones, like color accent, light & dark modes, radius, and typography. But additionally, the token structure also enables spacing to be themed. And each component even comes in 4 different visual styles to pick from, plus solid and translucent styles for panels.
Component API equivalent is documented in Figma. Status of each component in design VS code are clearly documented.
Figma file is not 100% designer-oriented, but rather a compromise that aligns better with code. May cause the design experience to be initially unintuitive in some areas.
Compliant with WAI-ARIA interaction guidelines for screen reader support, typeahead support, and keyboard navigation. The palette generator also tries to meet WCAG AA contrast standards. However, it’s still possible for the algorithm to fail if you pick inaccessible colors like yellow to be your main accent.
Decent and thoughtful selection of components, but nothing super special.
Due to flattened token structure, there is less flexibility for granular customisation or making exceptions to the assigned color roles. Tweaking one color may result in unintended effects throughout the library. However, exceptions can be made by creating special tokens for certain use cases. Radix itself uses these to control the background color of floating panels, for example.
Radix is more of a UI Library, not a full design system. Does not include any UX or usage guidelines for designers. Is very atomic and does not include patterns or flows.
No Figma plugins or third party tools, so the initial setup and customisation is a manual process. Radix does have its own palette generator though.
Material 3 (M3) is an open-source design system from Google, for building mobile-first products in Android, Flutter, and Web. It is one of the most, if not the most, widely used design system to date, with a huge community and countless third party systems, products, and tools based on and inspired by it.
Dynamic color system: Material You adjusts the UI to match a user’s wallpaper or theme preferences, creating a highly personalized and cohesive visual experience.
Broad platform support: M3 integrates seamlessly with tools like Jetpack Compose, Flutter, and third-party libraries for React and Angular, making it a versatile choice for developers across platforms.
Focus on Accessibility: Components meet or exceed accessibility standards. Compared to M2, M3 introduces design patterns like larger touch targets, enhanced contrast, and flexible layouts to ensure inclusivity.
Expressive Color: Unlike other design systems, M3’s expressive approach to color results in a much more impactful difference in look and feel when customising the palette, unlike design systems that take a more functional approach to color.
The Material Theme Builder supports light and dark modes and adaptive shapes. Color, radius, and typography, and light/dark modes are all themable. Note that spacing is not.
Parallel designer & developer libraries, with bridging plugins. Despite this, component naming and structure is also fairly intuitive for designers.
The Material color system relies on composite tokens and opacity values to generate states, which are not supported by Figma. The generated Figma variables only contain raw hex values and do not make use of aliasing capabilities.This makes maintenance harder, and the system less transparent.
The guidelines encourage designing for a variety of users, including those with low vision, hearing impairments, cognitive impairments, etc. The color algorithm ensures a minimum 3:1 contrast, but can also generate themes with 7:1 contrast for users with sight impairment.
The Material components are generic and simple, and cannot handle complex use cases. There are also fewer components than some other systems out there. You will have to pay for a third party library to get more components.
The color system is dictated by the palette algorithm. This often returns some odd-looking results, including semantic colors that aren’t from the color scales. The animations and styles are pretty standard. In the end, it will look very android.
Extensive UX guidance available in the documentation. Covers not only the components, but also patterns, adaptive layouts, and hierarchy.
A lot of learning resources and plugins to help bridge the design-development gap, from both official and non-official sources. The google ecosystem includes assets such as icons and fonts.
The systems we reviewed highlight a spectrum of strengths. From examining our top picks, we’ve learned that every design system has its own particular focus and priorities. Here we have gathered the top scores so that you can pick the one that best aligns with your own project goals.
Radix
Radix
Blank
Primer & Material 3
Ant Design
Material 3
Material 3
Material 3
We have highlighted some of the best design systems in the market and reviewed our favorites. Selecting one will depend on your use cases, and your reasons for wanting to work with a design system in the first place. Alternatively, instead of adopting a third party design system, you could develop your own design system. If you cannot afford a custom design system, then we hope our review of the best third-party design systems has helped you to select the right one for your needs. Let us know your thoughts, share your favorite design systems with us, or reach out to discuss your project with us.