These are guidelines to use as a reference when designing new octicons.
Always design two versions of each icon: a 16px version and a 24px version.
16x16 grid
24x24 grid
12px icons are special and should only be created if there is a specific use case where a 16px icon can't be used.
Use a consistent stroke width of 1.5px for both 16px and 24px icons.
1.5px stroke on 16px icon
Use the following shapes as sizing references to ensure that the "optical volume" of your icon is consistent with the rest of the set. See the "Grid and Optical Volume" section of Nucleo's Icon Guidelines to learn more about "optical volume."
Circle on 16x16 grid
Circle on 16x16 grid example
Circle on 24x24 grid
Circle on 24x24 grid example
Square on 16x16 grid example
Square on 16x16 grid example
Square on 24x24 grid
Square on 24x24 grid example
Rectangle on 16x16 grid
Rectangle on 16x16 grid example
Rectangle on 24x24 grid
Rectangle on 24x24 grid example
Use round caps and joins.
Round caps and joins
Use 1px radius for corners unless a different radius makes the icon more recognizable (e.g. repo).
1px radius on 16px icon
1px radius on 24px icon
Use 0.25px radius for small filled elements inside icons, like filled arrowheads.
0.25px radius on arrowhead
0.25px radius on bookmark in repo icon
Use a 1px gap to separate overlapping objects.
1px gap in comment-discussion icon
Use a 1.5px gap around modifier elements, like lines and arrows.
1.5px gap in bookmark-slash icon
1.5px gap in package-dependencies icon
Use 2D perspective unless depth makes the icon more recognizable.
Use 2D perspective
Don't add unnecessary depth
Use depth when it adds meaning
Don't use a 2D perspective if it makes the icon unrecognizable
Align the outer edge of shapes to pixel boundaries when possible.
Align the outer edge of shapes to pixel boundaries
Don't align the inner edge of shapes to pixel boundaries
Use line arrowheads unless there is not enough room.
Line arrowhead in sign-out icon
Filled arrowhead in link-external icon
If you work at GitHub, you can use the Octicons Push Figma plugin to start an Octicons pull request from Figma.
Here's how it works:
After you create a pull request, a member of the design systems team will triage and review your contribution.
Here are a few questions we'll ask when reviewing new octicons. Keep these in mind as you're designing: