Optimizing Icon Components in Figma: A Time-Saving Technique for Design Systems

Kishankankhara
3 min readMay 22, 2023

Designing a comprehensive Design System often involves creating and managing a library of components. While component creation can be time-consuming, there’s a lesser-known technique that can actually save time when using built components in interface design.

This article focuses on one fundamental element of a Design System — the “Icons” — and explores how optimizing their usage can significantly reduce design time. Specifically, we’ll delve into custom-designed icons created in Figma, addressing the challenges that arise when replacing icons within complex components like buttons or chips due to varying names, layer counts, and colour inconsistencies.

Setting Up the Figma Project

To begin, we’ll import icons from Iconify or other preferred plugins, allowing for direct importation as components.

Next, we’ll create a button component by incorporating one of the icons and a text layer within an Auto Layout.

We’ll then convert the icon inside the Auto Layout into an instance property while adjusting the button and icon colours.

Lastly, adding an instance switch property to the icon.

Problem & it’s solution

Add an instance of the button component and observe that when you try to change the icon using the instance switch property, the default icon colour is applied instead of retaining the previous icon colour.

To rectify this, we need to ensure that all icons consist of a single layer. To do this, flatten any groups or unions within the icons.

Once the icons have been flattened to a single layer, let’s rename them with standardized and meaningful names such as “shape,” “vector,” or “icon.” This naming convention will help improve clarity and understanding within the component library.

After making these modifications, go ahead and test the button component again. You will notice that the instances now maintain the correct icon colours, eliminating the colour inconsistency issue.

By following these steps, you can effectively optimize your icon components and streamline the process of using them within complex components. This technique will save valuable design time and ensure a more efficient workflow within your Design System.

Conclusion

“Invest in your foundation, and it will support you throughout your journey.” — Unknown

A solid foundation is crucial to facilitate a seamless journey. In the context of design systems, when building your components, investing time in planning and naming conventions upfront is essential. By ensuring your building blocks are well-optimized and consistently organized, you can save significant design time in the long run. Meaningful layer names enhance usability and understanding for anyone utilizing your component library. Remember, a well-prepared foundation sets the stage for efficient design system management and smooth collaboration.

--

--