Black Lives Matter. Support the EJIEqual Justice Initiative
Skip to main contentCarbon Design System

About Carbon

Carbon is IBM’s open source design system for digital products and experiences. With the IBM Design Language as its foundation, the system consists of working code, design tools and resources, human interface guidelines, and a vibrant community of contributors.


As IBM’s official design system, Carbon serves a wide range of designers and developers building digital products and experiences. It is maintained by a core team of designers, developers, and writers based in the Austin, Texas IBM Design Studio.

The goals of the design system include improving UI consistency and quality, making the design and development process more efficient and focused, establishing a shared vocabulary between designer and developer, and providing clear, discoverable guidance around design and development best practices.

The design system is built React first. We also support core parts of the system in vanilla JS, Angular, and Vue. If you’re using a different framework, you can still build components by following our guidelines for other frameworks.

Guiding principles

Carbon is open. The design system is a distributed effort, guided by the principles of the open source movement. Carbon’s users are also its makers, and everyone is encouraged to contribute.

Carbon is inclusive. It’s designed and built to be accessible to all, regardless of ability or situation.

Carbon is modular and flexible. The system’s modularity ensures maximum flexibility in execution. Its components are designed to work seamlessly with each other, in whichever combination suits the needs of the user.

Carbon puts the user first. Using rigorous research into users’ needs and desires, Carbon is laser-focused on real people.

Carbon builds consistency. Based on the IBM Design Language, every element and component of Carbon was designed from the ground up to work elegantly together to ensure consistent, cohesive user experiences.


The Carbon team encourages adoption through guidance and training, community development, maintenance, and support. The system is primarily maintained by a core team and governed by an executive board of design advisors.


We conduct training classes and offer certifications. These cover introductions to Carbon and participating in this community. Each program is piloted internally and available upon release externally. We teach at conferences, bootcamp labs, and wherever else we’re needed.

We engage the community. We strive to be one of the world’s best design systems and we’re always open to feedback. We communicate with you about Carbon’s state and roadmap through GitHub support, blog posts, and Twitter.

Contributed components and patterns include a list of maintainers. The Carbon team triages and supports maintenance requests that do not have a maintainer. Unmaintained patterns will be demoted to Experimental if the Carbon team decides not to maintain them.

We provide support for users of the design system. The Carbon team engages with users primarily through GitHub. A member of the Carbon team responds to all issues and pull requests.


We maintain a set of Sketch libraries containing Carbon components and patterns. There is a funnel of contribution for rigorous Sketch symbols before they are made available in Sketch libraries.

Carbon supports multiple code implementations. These reflect the production-level design libraries. The frameworks are listed below with their primary maintainers:

Design patterns are harvested from products built with Carbon. These become part of the design system. Teams can use these well-defined patterns in their work and contribute patterns back to the system.

Contribution acceptance

We bring experimental components and patterns into the design library as quickly as possible with little barrier to entry.

Experimental status means duplicate patterns may exist. Accompanying guidance may be minimal. Maintainers are not yet identified or committed. Inclusion in the shared library raises awareness and acts as a live audit so people can benefit from the collaboration.

Beta status means there are few or no duplicate patterns. Guidance on the site is reasonably complete and useful. Maintainers are identified and committed to ongoing support. The intention is to go to production with only minor changes based on user feedback.

Production status means there are no duplicate patterns. These offer high-quality guidance. Design symbols and code components are available. Maintainers know to monitor support channels for their patterns.

Certificate of Originality

This information is only relevant for IBM teams building with Carbon.

Carbon v10.x

  • COO record ID: 95607540
  • COO reference number: COO20190204
  • Name of IBM material (with version number): IBM Design System [Version 10, Release n/a, Modification n/a]
  • Last release date: March 31, 2019
  • Name of Product/Program manager or author of material: Matt Rosno/US/IBM

Carbon v9.x

  • COO number of IBM material (if any): AUS720180239
  • Name of IBM material (with version number): IBM Design System [Version 9, Release n/a, Modification n/a]
  • Last release date: June 4, 2018
  • Name of Product/Program manager or author of material: Matt Rosno/US/IBM