Angular Icons
The all-in-one icon library for Angular v35 is out

Every icon set.
One Angular API.

107,705 icons from 40 libraries, searchable together. Register what you use, ship nothing you don't.

$npm i @ng-icons/core

One component, 40 sets

Mix Heroicons, Lucide, Material and 37 more in the same template. They all render through a single <ng-icon>.

Fully tree-shakeable

Each set is its own package and each icon its own export. Register icons with provideIcons and only those reach your bundle.

Size, colour and stroke

Inputs on the component, inheriting font size and text colour by default. strokeWidth applies to sets drawn with strokes.

Icon loaders

Resolve icons at runtime from a URL or generate them on the fly. Loaders run in the injection context, and withCaching() stops repeat requests.

Built for modern Angular

Standalone components, signals and the current release line. Register icons with provideIcons anywhere providers are accepted.

Bring your own SVGs

Set the svg input to any SVG string and skip registration entirely. Strict CSP is supported too.

Register what you use.
Ship nothing else.

Icons are plain constants. Import them where you need them and the bundler drops the rest. No sprite sheets, no font files, no runtime registry to maintain.

107,705
icons
40
icon sets
MIT
licensed core
app.ts
import { NgIcon, provideIcons } from '@ng-icons/core';
import { remixSearchLine } from '@ng-icons/remixicon';

@Component({
  imports: [NgIcon],
  providers: [provideIcons({ remixSearchLine })],
  template: `<ng-icon name="remixSearchLine" />`,
})
export class App {}
Trusted in production Downloaded by Angular teams every day, and growing with every release.
108K weekly npm downloads
5.0M downloads all time
586 stars on GitHub
MIT licensed and funded by its sponsors. Become a sponsor