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-box → i3dBox).
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
fonttoolsandcu2qu(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.