Carbon is the open-source design system for all IBM software products. It is a series of individual styles, components, and guidelines used for creating unified product experiences.
To learn more about how we work check out What is Carbon.
Carbon has a core team of designers and front-end developers dedicated to developing and supporting the system. There are also countless other designers and developers who contribute back to carbon-components and carbon-react.
Check out our contribution overview to learn all about the different ways to contribute. Thanks for the help!
First, make sure the problem is reproducible. Once confirmed, open an issue in the appropriate GitHub repo from the following list. We will address the bug as soon as we can. If you have a fix for the bug, please feel free to submit a PR for it.
For larger changes, please see our contribution overview.
Design issue repos
If you have a pressing bug or change it is best to make PR for the issue yourself. Our team works in sprints and will try to address your bug as soon as possible; sometimes within two or three days, but usually by the following sprint. Issues that are out of scope will be closed until they become a higher priority.
Typical responses to bug reports will include:
- Need more info, can’t reproduce the problem
- Won’t fix, this isn’t something we intend to support
- Confirmed, will add to our roadmap (Carbon team will fix)
- Confirmed, will accept PRs (need external member to fix)
- Need to include design to verify this behavior is supported
First, refer to the Carbon accessibility guidelines to confirm that the component fails accessibility standards. If confirmed, create a GitHub issue in the Components repo and describe the steps to reproduce the problem. If the core Carbon team confirms the problem, we will work to fix it as quickly as possible.
Carbon components are supported in the following browsers:
- Microsoft Edge latest
- Firefox latest
- Chrome latest
- Safari latest
Carbon is built React first. We also support vanilla JS, Angular, Vue, and Svelte implementations. Check out Frameworks to learn more about what you need to get started with Carbon implementations.
We are currently working on a Carbon mobile Sketch kit. This kit is a work in progress but is an opportunity for you to preview what we’re working on and provide early feedback. Find the kit on the Work in progress page.
The patterns and components that were in Experimental are now in the Community assets section. Community assets include work developed and maintained by the individuals and teams who use Carbon. You can help elevate these resources by contributing feedback, code, and design.
Note that some of the content in Community assets is hosted on internal IBM sites and is only accessible to IBMers.
Carbon charts and their corresponding assets and documentation are now in the Data visualization section.
Carbon contains a telemetry feature that collects usage information for IBM and Carbon Design System properties.
Carbon collects telemetry information to influence Carbon’s roadmap and prioritize bug fixes.
Data is only collected when Carbon packages are installed on a Continuous Integration (CI) server, when the installation is not part of a Pull Request (PR), and for Git repositories with the origin remotes:
As the information collected is not anonymous, telemetry data collection is limited to IBM GitHub Enterprise repositories, as well as open source repositories in the IBM and Carbon Design System GitHub organizations.
The following is collected through a postinstall script:
- Git repository remote origin URLs and commit hashes
- Packages and package versions used in the repository
- Components being used including file paths and their packages
- Component props being used (the prop value is only collected when it is serializable to a string)
Participation in Carbon’s telemetry is optional. To opt-out, set the environment