Design and interface · Edition No. 27 · 21 Sep 2026

iconify/iconify

One way of writing icon names that reaches more than 200 icon sets and about 300,000 icons.

← Design and interfaceRead the whole edition →

6.2k stars · MIT for the framework; EACH ICON SET CARRIES ITS OWN LICENCE and some require attribution · no GitHub releases at all — a determination, not a gap, re-confirmed 20 September 2026 by opening /releases. Recency from npm: @iconify/utils 3.1.7, published September 2026. Code pushed 24 July 2026, proved via ungh.cc · Track this in Scout

One way of writing icon names that reaches more than 200 icon sets and about 300,000 icons.

Repo detailsthe review · specs · pros & cons · install

What it is

A framework with components for React, Vue, Svelte and SolidJS, a plain web component, and a CSS-only option. Icon data is fetched on demand from a public service, or from packages you install if you would rather nothing left your own machine.

What it is good for. Any project where the icon you need is missing from the set you chose. That happens constantly, and the usual repair is a second icon set with a different line weight, which looks wrong. This removes the problem: the icon exists somewhere in the 300,000, and you name it. It also suits prototyping, where the cost of trying five different visual styles should be five edits and not five installs.

Stars6.2k
LicenceMIT for the framework; EACH ICON SET CARRIES ITS OWN LICENCE and some require attribution
Latestno GitHub releases at all — a determination, not a gap, re-confirmed 20 September 2026 by opening /releases. Recency from npm: @iconify/utils 3.1.7, published September 2026. Code pushed 24 July 2026, proved via ungh.cc
Good
  • MIT for the framework, and it is the only practical way to reach this many sets through one interface.
  • Loading on demand means an unused icon costs nothing, which is the opposite of bundling a whole icon font.
  • Offline packages exist, so the public service is a convenience rather than a dependency.
Watch for
  • Each icon set carries its own licence. The framework being MIT tells you nothing about the icons you actually use, and some sets require attribution. This is the part that gets missed.
  • On-demand loading means the first render of an icon waits for a network request, unless you install the data packages instead.
  • It publishes no GitHub releases at all. That is a determination and not a gap — its versions live on npm, where @iconify/utils is at 3.1.7 — but it does mean there is no release page to watch.
Similar repositories
Install
npm install --save-dev @iconify/react
# then, in a component:
#   import { Icon } from '@iconify/react';
#   <Icon icon="mdi:home" />
Screenshots
iconify/iconify: GitHub preview card

Get the next edition in your inbox

A dozen repositories, opened and checked. The licence read, the last release dated, and the ones that did not make it named with the reason. It is the half most lists leave out.

No tracking pixels. One click to leave. The archive stays free either way.

We use your address to send the edition and nothing else. Confirm by email, leave in one click. How we handle it.