Skip to main content
Question

Every icon best practice you need to know


Show first post

29 replies

Evaluz
  • New Member
  • 4 replies
  • April 3, 2024

Hello Abraham!
I am dealing with this question currently.
I feel like Figma is stellar when dealing with outlined icons. I’ve always worked with outlined, flattened icons (24 and 16 since I need them in both sizes). However… there is a specific dev in the team who wants pixel perfect icons in both sizes so he demands outlined icons for the open source project.
However… as you said, smaller icons can get hard to read if they’re reduced with the same line weight.

What I’ve been doing is:

  • Outlined icons mostly, in two sizes: 16 and 24.
    Pros: Super easy to manage on Figma.
    Cons: some of them have weird lines when outlined + less “flexible” if their weight/design needs to be changed. According to the dev who required them: they’re not crisp enough since they might not sit perfectly on the grid.
  • Stroked icons are “crispier”, but are a PAIN to manage on Figma: since it is not a single vector, overwriting the colour values is very hard since some parts of the icon will fill with colour when it shouldn’t.

So… I still haven’t find my answer lol. I guess that “it depends”?
If you want to modify/adapt stroke is gold. If you’re sure you’re ready to roll with them and you will not change them, then flatten them.

I hope I could help in some way.


cmkaniac
  • 2 replies
  • September 13, 2024

Amazing post, thank you! My questions are about Material icons imported via the Material Symbols plug-in:

  1. My understanding is that one should create separate icon components for whatever icon sizes are needed in the system, because in the Material universe, the icons’ stroke widths, details, and proportions within the frame are optimized for a specific size. Because of this optimization, icons of the same type but different sizes are NOT simply scaled versions of one another. For example, a 24px delete icon and a 48px delete icon from the Material Icons library — each imported via the plug-in — are not resized versions of the same base icon. You can see this when downscaling a 48px icon and comparing it to a 24px version that was imported via the plug-in. The downscaled icon is thicker and larger. In other words, do NOT resize Material Icons imported via the plug-in, but rather create separate components for every size that is needed (e.g., 20px, 24px, 40px, 48px) for every icon type—is this correct?
  2. Because Material optimizes various icon details for a given size, I assume the default padding must also be left alone. The default padding ensures that different icons appear visually balanced and consistent, even when their shapes vary. Also, adding 2px padding around every icon then changes the icon dimensions to larger sizes (22px, 26px, 42px, 50px), none of which conform to an 8px-grid. Bottom line: the default padding of Material icons should be left alone —is this correct?
  3. Why does the Material Symbols plug-in import icons as groups rather than frames?

mathilde_evens

Super interesting Molly!
One thing came to my mind: How would you export icons in SVG with their padding area? on Figma (So I could export them in other softwares and they will have the same size)


Gumilar_Adyana_Putra

To properly export icons with its padding as SVG, you should encapsulate it inside a Frame first as the bounding box (and for the SVG’s base dimension), then export the frame.


Reply


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings