andrsrxn/icons

React icon library with 1,000+ duotone icons and 250+ flags.

TypeScript

3

277 commits

updated Sep 16, 2026

See the code
design-system
duotone
flags
react
tree-shakeable
typescript
ui
ui-icon-library

README

andrsrxn/icons symbol

andrsrxn/icons

npm version Dependency count npm downloads License CI CodeQL Linted with Biome

React icon library with 1,000+ duotone icons and 250+ flags. Smooth, RTL-aware, and optimized SVGs.

Icons banner with logo in the center

Overview

This library was built to serve as the icon foundation for andrsrxn/ui, an upcoming open-source, opinionated Design System and Component Library aimed at enterprise-grade products.

While andrsrxn/icons is tightly coupled to that vision, it is intentionally published as a standalone package. This keeps it lightweight, independently versioned, and freely usable by anyone.

Why another icon library?

The short answer: there are no free duotone icon sets with the right style.

Most libraries offer only outline or solid variants. Phosphor Icons does include free duotone variants, but its implementation applies a duotone layer to every icon unconditionally, this results in unnecessary visual noise and icons that feel semantically inconsistent.

andrsrxn/icons takes a more deliberate approach:

  • Duotone by default: Icons that have a meaningful path/fill distinction are always duotone.
  • Outline when appropriate: Simple geometric icons such as +, /, or × do not receive a decorative background layer that would only reduce clarity.
  • Filled on demand: A filled variant is included only for icons that have a meaningful active or selected state, such as like, bookmark, or star, not as a blanket alternative style.

Categories

  • UI: 1,000+ functional icons for apps, each with its own preview image. (aspect ratio 1:1)
  • Flags: 250+ simple and minimal country flags, named with ISO 3166-1 alpha-2 code (IconFlagGT, IconFlagUS), the exceptions are IconFlagLGTB and continent flags, which have a C prefix (IconFlagCAF for Africa, IconFlagCNA for North America, and so on); treated as image assets with country code as title included. (aspect ratio 3:2)

Notice: We do not provide any brand or logo icons, as we are purely an icon library. If you need such icons, we recommend checking out SVGL or Simple Icons.

Documentation

See full documentation

Contributing

We currently do not accept contributions for new icons, but we appreciate suggestions and icon requests through GitHub issues.

Support

If this project is useful to you, consider supporting its development through:

Inspiration

All of the icons were made by scratch on Figma but inspired on the following icon libraries:

Credits

The flag icons are adapted from FlagKit by Bowtie, used under the MIT License (Copyright (c) 2016 Bowtie AB). Only the 3:2 rectangular flag versions were used as source material and converted into tsx components. See THIRD-PARTY-LICENSES.md for the full license text.

License

All icons are free; personal or commercial use is allowed under MIT License - Copyright 2026 Andrés Raxón (andrsrxn).

Contributors

andrsrxn

264 commits

andrsrxn/icons

React icon library with 1,000+ duotone icons and 250+ flags.

TypeScript

3

277 commits

updated Sep 16, 2026

See the code
design-system
duotone
flags
react
tree-shakeable
typescript
ui
ui-icon-library

README

andrsrxn/icons symbol

andrsrxn/icons

npm version Dependency count npm downloads License CI CodeQL Linted with Biome

React icon library with 1,000+ duotone icons and 250+ flags. Smooth, RTL-aware, and optimized SVGs.

Icons banner with logo in the center

Overview

This library was built to serve as the icon foundation for andrsrxn/ui, an upcoming open-source, opinionated Design System and Component Library aimed at enterprise-grade products.

While andrsrxn/icons is tightly coupled to that vision, it is intentionally published as a standalone package. This keeps it lightweight, independently versioned, and freely usable by anyone.

Why another icon library?

The short answer: there are no free duotone icon sets with the right style.

Most libraries offer only outline or solid variants. Phosphor Icons does include free duotone variants, but its implementation applies a duotone layer to every icon unconditionally, this results in unnecessary visual noise and icons that feel semantically inconsistent.

andrsrxn/icons takes a more deliberate approach:

  • Duotone by default: Icons that have a meaningful path/fill distinction are always duotone.
  • Outline when appropriate: Simple geometric icons such as +, /, or × do not receive a decorative background layer that would only reduce clarity.
  • Filled on demand: A filled variant is included only for icons that have a meaningful active or selected state, such as like, bookmark, or star, not as a blanket alternative style.

Categories

  • UI: 1,000+ functional icons for apps, each with its own preview image. (aspect ratio 1:1)
  • Flags: 250+ simple and minimal country flags, named with ISO 3166-1 alpha-2 code (IconFlagGT, IconFlagUS), the exceptions are IconFlagLGTB and continent flags, which have a C prefix (IconFlagCAF for Africa, IconFlagCNA for North America, and so on); treated as image assets with country code as title included. (aspect ratio 3:2)

Notice: We do not provide any brand or logo icons, as we are purely an icon library. If you need such icons, we recommend checking out SVGL or Simple Icons.

Documentation

See full documentation

Contributing

We currently do not accept contributions for new icons, but we appreciate suggestions and icon requests through GitHub issues.

Support

If this project is useful to you, consider supporting its development through:

Inspiration

All of the icons were made by scratch on Figma but inspired on the following icon libraries:

Credits

The flag icons are adapted from FlagKit by Bowtie, used under the MIT License (Copyright (c) 2016 Bowtie AB). Only the 3:2 rectangular flag versions were used as source material and converted into tsx components. See THIRD-PARTY-LICENSES.md for the full license text.

License

All icons are free; personal or commercial use is allowed under MIT License - Copyright 2026 Andrés Raxón (andrsrxn).

Contributors

andrsrxn

264 commits

Languages

TypeScript

98.5%