Icons
Design and production guidelines
Don’t see the icon you need in the library? Make your own! Follow these guidelines to ensure visual consistency and proper formatting.
- All icons should be unique and not redundant with any existing icons in the system. Search the library for the keyword(s) associated with your proposed new icon to ensure that it is not already represented.
- All icons should adhere to the IBM Design Language visual style.
- All icons should comply with IBM accessibility standards.
- All icons should be usable across all supported platforms and devices.
- All icons should be understandable by a global audience of users, regardless of nationality or language.
Making an icon
- Create a 16 x 16 or 32 x 32 px artboard for each icon.
- 16 px icons should have 1 px padding. 32 px icons should have 2 px padding.
- Set your workspace up from the start to snap to pixels and round values to whole pixels to avoid correcting shapes later.
- Never use center borders. Centering can cause half pixels.
- Avoid using the line tool; use the rectangle tool instead. The line tool will place the vector on half pixels.
- Be aware of automatic alignments which can place vectors on uneven or half pixels.
- Ungroup icon layers completely. The icon should be on the top-most layer in your artboard.
- Make sure to properly name layers and artboards (these names will also be exported into the code).
- Review the icon master file to see these guidelines in practice.
Production-ready
To be considered production-ready, all icon submissions must be delivered in SVG format at 16 x 16 px (for integration with Carbon components) or 32 x 32 (for service icons).
- Icons should be at whole pixels. No decimals are allowed in x and y coordinates or width and height fields.
- Each artboard and the artwork within it must be aligned to the pixel grid.
- All strokes must be expanded and at full pixel values.
- All possible shapes and paths should be combined.
Exporting SVGs
Export SVGs from Sketch.
- Draw a 16 x 16 or 32 x 32 px artboard. 16 px icons should have 1 px padding. 32 px icons should have 2 px padding.
- Place the icon squarely on the artboard, making sure it’s aligned to the pixel grid.
- Convert all strokes to outlines
(Shift + ⌘ + O)
- Select any overlapping shapes and click the Union icon from the top navigation to merge all of the shapes together.
- Make sure the icon is at
#000000
and has no additional styling. - Select the entire artboard (not just the icon).
- Click
Make Exportable
at the bottom of the right toolbar in Sketch. - In the
Export
widget select “SVG” in the format dropdown. - Click
Export 'Artboard-Name'
. - Name icon with the
#name--modifier
convention (i.e.copy.svg
,copy--glyph.svg
,add.svg
,add--glyph.svg
).
Export SVGs from Adobe Illustrator.
- Draw a 16 x 16 or 32 x 32 px artboard. 16 px icons should have 1 px padding. 32 px icons should have 2 px padding.
- Place the icon squarely on the artboard, making sure it’s aligned to the pixel grid.
- Expand all strokes
Object
→Expand
. - Select all overlapping shapes and click the “Unite” icon in the Pathfinder panel to merge all of the shapes together.
- Make sure the icon is at
#000000
and has no additional styling. - Select
File
→Save a Copy...
from the top navigation. - On the
Format
dropdown select “SVG.” - Below
Format
selectUse Artboard
, then select either all or a range of artboards, depending on your need. - Click
Save
. - The
SVG Options
dialog will then open. - Make sure the preferences are the same as in the image below.
Contribution process
Would your icon be useful for other products? If so, please consider contributing to the design system.
To submit, open an issue with your icon in the Carbon GitHub repository.