Best practice with icons : Use component with underlying font vs Import every icon as vector layer?

The general consensus for best practice, as well as what I see in most pro UI kits for sale, seems to be importing a huge set of icons as SVG individually in the Figma design system files, and creating one component out of each icon with a vector layer only, and building components using icons based on that.

However, one of the more “traditional” or long standing icon providers, FontAwesome, provides the option to use a simpler component that uses an underlying OS or Figma hosted font to speficy which icon should be displayed (and a custom component can even be made to use Figma styles to simplify it). And then, for hand-off, the same FontAwesome provider has an easy tool to generate custom SVG sprites based on what icons are used overall in the project. So, it would seem win-win ?

So my question is, how do more senior designers feel about this versus the import method ?

As a junior, my concerns are that in the case of FontAwesome we use for example, it is 16000 icons, that are actually about 4000 unique icons available in 4 weights.

Importing all this as individual vector layers will decouple each icon from its similar icons of different weight, and from its name that’s findable on the fontawesome website. also, it might require ajusting bouding boxes etc since all icons aren’t of the same exterior size, while as a font character it is aligned properly in the character bounding box.

Sure, using the icons via the official FontAwesome component represents its own drawbacks, but it allows for easy management of sizes, weights, colors, naming, and still allows developers to make a custom svg spritesheet out of the icons actually used in the designs.

why choose one over the other ? or maybe this choice/concern of method only applies to fontawesome and not any other more professional icons library that’s only delivered as SVGs anyway ?

Serious question to learn and improve, if it’s obvious for the pros, please don’t laugh :slight_smile:

Thanks a lot in advance

1 Like

Anyone, would appreciate informed feedback please :slight_smile: