Iconography

Icons are a crucial part of our design system and product experience. They are used to express objects, actions, and ideas visually.

We use icons to communicate the core idea and intent of a UI element or action. They're the foundational building blocks of illustrated content while being highly technical. They can also save screen real estate and, at the same time, enhance aesthetic appeal.

Designing with icons


Using the Icon Component and Glyphs Repository

The components in the system that may include icons come already with the Icon component, and using the properties panel, designers can select from the glyphs repository.

If local or novel designs using icons are created in important to follow the guidance below so you can leverage properties built in the component.

1. Drag the Icon component under the Icons accordion instead of pulling samples from the Glyphs repository.

1. Drag the Icon component under the Icons accordion instead of pulling samples from the Glyphs repository.

2. The default variant is a 16px diamond that designers can change the size using the properties panel.

2. The default variant is a 16px diamond that designers can change the size using the properties panel.

3. Select the desired glyph from the Glyphs repository

3. Select the desired glyph from the Glyphs repository

Icon Sizes


Consistency is critical. Our base icon size relates directly to our asset’s sizing units.

Below you’ll find the sizes we use:

size
The recommended size of small-sized for styles, for example small icons.
size
The recommended size of medium-sized for styles, for example medium icons.
size
The recommended size of large-sized for styles, for example icons.

Icon Colors


Check the Icon section in our Color documentation below!

Icon Styles


Our icons are a reflection of our brand, and it is important to how understand the core values of our brand manifest visually. Some adjectives we want to convey are clear, approachable, soft, calm, professional, modern, practical.

To allow the ability to convey details, Our standard style is flat, stroke in regular weight. We use filled icons in specific uses such as feedback components, alerts, and hover/selected states because they typically have higher recognizability because of their simplified line work. Rounded corners and end caps are present in both styles.

We are licensed to use Font Awesome icon library, which provides thousands of icon options to cover most of our iconography needs.

Regular style - standard style across most components.

Regular style - standard style across most components.

Filled style - reserved for alerts and feedback components.

Filled style - reserved for alerts and feedback components.

Pixel Grid


All Font Awesome icons are designed on a grid and share a consistent height. But they vary in width depending on how wide or narrow each symbol is. To support the alignment of groups of two or more icons, both horizontal and vertical stacks, the Spark team resizes each icon to fit proportionally in the default 16-pixel bounding box that can adjust in size proportionally to 24 and 32 pixels.

Icons are aligned to the pixel grid, not just because they will render more nicely but because it makes spacing things evenly much more manageable. It supports consistent placement and look better overall.

 

An example of an icon over our pixel grid

An example of an icon over our pixel grid

In Components

Non-utility icons inherit the color of the text in the component.

Non-utility icons inherit the color of the text in the component.

Utility icons such as chevrons, close, kebabs, etc., use designated system colors for all states.

Utility icons such as chevrons, close, kebabs, etc., use designated system colors for all states.

Status icons should be paired with semantic colors.

Status icons should be paired with semantic colors.

Layering Icons

We use Font Awesome Wizard tool to layer a slash. The default orientation is backslash [\].

We use Font Awesome Wizard tool to layer a slash. The default orientation is backslash [\].

Exceptions to the backslash [\] orientation is reserved for instances when key elements get covered that risk the effective visual communication of the icon. A common slash [/] orientation will be used instead in those instances.

Exceptions to the backslash [\] orientation is reserved for instances when key elements get covered that risk the effective visual communication of the icon. A common slash [/] orientation will be used instead in those instances.

If your design includes an icon with indicator, this can be duotone if it improves visual communication. Is recommended to use a semantic color if it's associated with a status or Core Tomato if it's generic.

If your design includes an icon with indicator, this can be duotone if it improves visual communication. Is recommended to use a semantic color if it's associated with a status or Core Tomato if it's generic.

We use Font Awesome Wizard tool to layer a badge. It will place the icon on the bottom right corner of the base icon's viewbox. For a 16px base icon, the associated badge icon will be around 9px.

We use Font Awesome Wizard tool to layer a badge. It will place the icon on the bottom right corner of the base icon's viewbox. For a 16px base icon, the associated badge icon will be around 9px.

Layering a counter will require custom adjustments and the icon will be placed place on the bottom right corner of the base icon's viewbox. For a 16px base icon, the associated counter icon will be 12px.

Layering a counter will require custom adjustments and the icon will be placed place on the bottom right corner of the base icon's viewbox. For a 16px base icon, the associated counter icon will be 12px.

 

Semantics and Visual Cues

Metaphors are important in icons - we use them all the time without even thinking. An icon of a house means homepage. An insect means an error. However, to balance with consistent and standard heuristic, as you select icons, consider those that closely align with how other sites or products represent the same concept, as Jakob's Law states that people spend most of their time using digital products other than ours.

But beyond just making everything look the same, make sure the product's design meets its intended users' needs and expectations—you want to know how the product will be used and who will be using it.

Don't
A horizontal UI toolbar showing several secondary icon-only buttons followed by a highlighted primary button labelled “Button” indicating the default interactive state.

 

Customization


For consistency and efficiency, we'll only add custom icons to the library in scenarios when Font Awesome options don't fully cover the semantics appropriate to any given feature. In those cases, the Icon Design Guidelines and Grid provided by Font Awesome must be followed to maintain the style consistent.

 

FA Icon Design Guidelines

FA Icon Grid

FA Prep Icons Guidelines

 

Accessibility


Icons can convey all sorts of meaningful information, so they must reach the most people possible. Two main use cases are decorative icons and semantic icons.

Decorative Icons are icons we use for visual or branding reinforcement. If we removed them from the page, users would still understand and be able to use your page.

Decorative Icons are icons we use for visual or branding reinforcement. If we removed them from the page, users would still understand and be able to use your page.

Semantic Icons are ones you use to convey meaning rather than just pure decoration, including icons without text next to them used as interactive controls — buttons, form elements, toggles, etc.

Semantic Icons are ones you use to convey meaning rather than just pure decoration, including icons without text next to them used as interactive controls — buttons, form elements, toggles, etc.

Read more:

WCAG 2 Icons that Help the User

FA Accessibility

 

Standards


Naming Conventions

Generally, it is best to name icons based on what they show, not what they represent. For instance, a stopwatch icon should be stopwatch, not speed. A lightbulb should be called lightbulb, not idea. Shorter names are better, too. When you need multiple words, use a dash to separate them.

Font Awesome

Font Awesome icons are automatically named using the style it was created from, the core icon name, and the icon modifier name. To maintain design and code parity, we retain the file name since manually changing the style or name when adding it to the code will break the icon. For consistency, when creating custom we’ll follow their naming conventions.

Standard - [core icon]-[style]

Standard - [core icon]-[style]

Using FA wizard - [style]-[core icon]-[modifier]

Using FA wizard - [style]-[core icon]-[modifier]

Read More:

FA Prep Icons Guidelines

Customized icons

When it comes to custom icons created for specific purposes, we adhere to the same naming structure employed by Font Awesome with the addition of a 'custom-' prefix. This practice ensures a standardised and intuitive approach to naming, enhancing the clarity and maintainability of our icon library.

custom-[shape]-[core icon]-[direction]-[overlay]-[modifier]-[style]

custom-[shape]-[core icon]-[direction]-[overlay]-[modifier]-[style]

i.e. custom-message-bell-regular


Examples of tagging for each category

Shape

square

square

circle

circle

triangle

triangle

hexagon

hexagon

octagon

octagon

Direction

right

right

left

left

top

top

down

down

up-right

up-right

up-left

up-left

down-right

down-right

down-left

down-left

Overlay

circle-minus

circle-minus

circle-plus

circle-plus

circle-check

circle-check

circle-xmark

circle-xmark

dot

dot

bell

bell

clock

clock

Modifier

slash

slash

Style

solid

solid

regular

regular