reicons

Reicon icon font for Flutter — 2700+ precision-crafted, open-source SVG icons in Outline and Filled weights, bundled as a single icon font (.ttf) with generated Dart constants.

Weight Icons Dart class Example
Outline 2675 ReiconIcons Icon(ReiconIcons.home)
Filled 2680 ReiconFilledIcons Icon(ReiconFilledIcons.home)

Install

Add to your pubspec.yaml:

dependencies:
  reicons: ^1.0.3

Then run:

flutter pub get

Usage

import 'package:reicons/reicons.dart';

Outline icons (default)

Icon(ReiconIcons.home)
Icon(ReiconIcons.arrowDown2)
Icon(ReiconIcons.settings)

Filled icons

Icon(ReiconFilledIcons.home)
Icon(ReiconFilledIcons.arrowDown2)
Icon(ReiconFilledIcons.settings)

With custom size and color

Icon(
  ReiconIcons.star,
  size: 32,
  color: Colors.amber,
)

In a widget tree

Row(
  children: [
    Icon(ReiconIcons.heart),
    SizedBox(width: 8),
    Text("Like"),
    IconButton(
      icon: Icon(ReiconFilledIcons.heart),
      onPressed: () {},
    ),
  ],
)

Icon naming conventions

All icon names use camelCase:

Original (kebab) Dart constant
arrow-down2 ReiconIcons.arrowDown2
3d-box ReiconIcons.i3dBox
align-center-h ReiconIcons.alignCenterH
user-circle ReiconIcons.userCircle

Names starting with a digit are prefixed with i (e.g. 3d-boxi3dBox).

Finding icons

Browse all icons at reicon.dev/icons. The Dart constant name follows the same kebab→camelCase conversion shown above.

You can also search icons locally by browsing the generated constants — any IDE with autocomplete will show all options after typing ReiconIcons..

Package structure

reicons/
├── pubspec.yaml
├── LICENSE
├── README.md
├── CHANGELOG.md
├── .pubignore
├── example/
│   ├── pubspec.yaml
│   ├── lib/
│   │   └── main.dart        # example Flutter app
│   └── test/
│       └── widget_test.dart
├── lib/
│   ├── fonts/
│   │   └── Reicon.ttf       # the icon font (all 5355 glyphs)
│   └── reicons.dart         # generated Dart constants
└── tool/
    ├── __init__.py
    ├── fetch_icons.py       # downloads source data from GitHub
    ├── icon-data.json       # vendored source (9 MB, not published)
    └── build_font.py        # regenerates .ttf + .dart from JSON

Known limitations

5 Outline icons that use SVG <rect> or <polyline> elements (not <path>) are not included in the font. Their Filled variants are fully supported:

Excluded Outline icon Filled alternative
window-chart-line ReiconFilledIcons.windowChartLine
align-3-horizontal ReiconFilledIcons.align3Horizontal
align-3-left ReiconFilledIcons.align3Left
align-3-right ReiconFilledIcons.align3Right
images-2 ReiconFilledIcons.images2

Building from source (maintainers only)

Regular users don't need this. The font and Dart constants are pre-built.
Just add reicons to your pubspec.yaml and run flutter pub get.

If you want to regenerate the font from the latest icon data:

pip install fonttools cu2qu
python tool/fetch_icons.py
python tool/build_font.py

This produces lib/fonts/Reicon.ttf and lib/reicons.dart.

Credits

Reicon Icons

All icons are from reicon.dev — a free, open-source SVG icon library with 2700+ handcrafted, pixel-perfect icons. Licensed under MIT.

This package

  • Font generation pipeline using fonttools and cu2qu (Python)
  • Dart constant binding generated by tool/build_font.py

Maintainer

This Flutter package is maintained by Azaj.

License

MIT — same as Reicon icons. See LICENSE.

Libraries

reicons
Reicon icon font — 2700+ precision-crafted, open-source SVG icons from Reicon bundled as a single Flutter icon font.