# \[FIXED\] Icon picker performance issue (icons take too long to load)

**URL:** <https://community.fibery.io/t/fixed-icon-picker-performance-issue-icons-take-too-long-to-load/8534>\
**Category:** Bugs & Issues\
**Created:** [March 30, 2025, 2:45pm UTC](https://community.fibery.io/t/fixed-icon-picker-performance-issue-icons-take-too-long-to-load/8534 "2025-03-30T14:45:11Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Renato\_Carvalho](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/renato_carvalho/32/11001_2.png) [@Renato\_Carvalho](https://community.fibery.io/u/Renato_Carvalho)\
**Post date:** [March 30, 2025, 2:45pm UTC](https://community.fibery.io/t/fixed-icon-picker-performance-issue-icons-take-too-long-to-load/8534/1 "2025-03-30T14:45:11Z")

</div>

I’ve noticed a consistent performance issue when selecting icons in Fibery. When opening the icon picker, there’s a significant delay before icons fully load and become visible, making it difficult to quickly identify and select the appropriate icon.

---

<div class="post-metadata">

**Author:** ![derbenoo](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/derbenoo/32/11540_2.png) [@derbenoo](https://community.fibery.io/u/derbenoo)\
**Post date:** [March 30, 2025, 5:36pm UTC](https://community.fibery.io/t/fixed-icon-picker-performance-issue-icons-take-too-long-to-load/8534/2 "2025-03-30T17:36:05Z")

</div>

This might be due to a slow network connection as every icon is downloaded as an individual SVG. Do you have these performance issues on a good internet connection as well?  
A way for Fibery to solve this would be to load all SVG data for the icon picker in a single request in order to eliminate the per-request overhead. This single request could include a version number be cached by the browser indefinitely. This should improve loading times as icons rarely change so they can be loaded from cache instantly in almost all cases.

Notion has this approach for their icon picker. Here is the URL to the single file containing all icon SVG data and metadata for the icon picker:  
[https://www.notion.so/icons/all](https://www.notion.so/icons/all)

 ![Screenshot 2025-03-30 at 19.34.05](https://us1.discourse-cdn.com/flex020/uploads/fibery/original/2X/9/92680775dca800d989c3315c6d076d64770d307e.png)

---

<div class="post-metadata">

**Author:** ![misha](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/misha/32/12041_2.png) [@misha](https://community.fibery.io/u/misha)\
**Post date:** [April 3, 2025, 12:04pm UTC](https://community.fibery.io/t/fixed-icon-picker-performance-issue-icons-take-too-long-to-load/8534/3 "2025-04-03T12:04:57Z")

</div>

@derbenoo both approaches have their own pros and cons. We tried to avoid single big file and rely more on http2 multiplexing. The benefit is that cache won’t be busted after we add new icon.

However I’ve noticed that caching for icons was broken at all. Fixed that so icon picker should perform better now for subsequent openings. Thanks for reporting @Renato_Carvalho

p.s. our icon set seems to be more or less stable now so we are thinking about one icon sprite again, but that’s not a priority now

---

<div class="post-metadata">

**Author:** ![Renato\_Carvalho](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/renato_carvalho/32/11001_2.png) [@Renato\_Carvalho](https://community.fibery.io/u/Renato_Carvalho)\
**Post date:** [April 3, 2025, 12:50pm UTC](https://community.fibery.io/t/fixed-icon-picker-performance-issue-icons-take-too-long-to-load/8534/4 "2025-04-03T12:50:25Z")

</div>

Thank your taking a look at it!

Caching seems to be working now.

---

<div class="post-metadata">

**Author:** ![Chr1sG](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/chr1sg/32/3941_2.png) [@Chr1sG](https://community.fibery.io/u/Chr1sG)\
**Post date:** [April 14, 2025, 1:47pm UTC](https://community.fibery.io/t/fixed-icon-picker-performance-issue-icons-take-too-long-to-load/8534/5 "2025-04-14T13:47:05Z")

</div>


