iconflow
Install
Enable at least one pack feature so the fonts and icon data are included.
[]
= { = "2.1", = ["all-packs"] }
Quickstart guide
See docs/quickstart.md for a fast end-to-end setup guide and API overview.
Core API
fonts()returns the enabled font assets for registered packs.try_icon(pack, name, style, size)resolves an icon reference or returnsIconError.resolve_all(pack, style, size)resolves every icon in a pack inlistorder (picker cold path).list(pack)returns the icon names for a pack.
egui quickstart
Register every FontAsset in egui::FontDefinitions, then render IconRef.codepoint with
FontFamily::Name(icon.family):
use ;
use ;
use Arc;
Runnable example: cargo run --example egui_demo --features all-packs
iced 0.14 quickstart
In iced 0.14, fonts are loaded asynchronously via Task. Load the bytes from fonts() and
render a glyph with Font::with_name once loading completes.
use ;
use text;
use ;
Runnable example: cargo run --example iced_demo --features all-packs
Example READMEs: examples/v2.0/egui_demo/README.md, examples/v2.0/iced_demo/README.md.
Historical 1.0 demos (do not build on 2.x): docs/historical/v1.0/.
FAQ
See docs/faq.md.
Development
cargo xtask genregeneratessrc/generated/**fromassets/maps/*.json.cargo xtask gen --checkverifies generated output without writing files.
Icon Fonts and Licenses
iconflow includes icon fonts from 14 open-source icon packs. All fonts are distributed under permissive licenses (MIT, Apache-2.0, or ISC).
Granularity is per pack: enabling a feature embeds that pack’s TTF(s). There is no per-icon subsetting yet — enable only the packs you need. Unused include_bytes! fonts can still be dropped by the linker if nothing calls fonts() / resolve paths that reference them; worst case is the full enabled set below.
Included Icon Packs (by font weight)
Font MiB = sum of TTFs under assets/fonts/<pack>/ (measured on disk). Icon counts are generated ICON_NAMES lengths.
| Icon Pack | Feature | Icons | Fonts (MiB) | License | Source |
|---|---|---|---|---|---|
| Fluent UI System Icons | pack-fluentui |
2 839 | 6.30 | MIT | microsoft/fluentui-system-icons |
| Phosphor Icons | pack-phosphor |
9 072 | 2.93 | MIT | phosphor-icons/web |
| Tabler Icons | pack-tabler |
4 964 | 1.47 | MIT | tabler/tabler-icons |
| Devicon | pack-devicon |
1 201 | 1.43 | MIT | devicons/devicon |
| Remix Icon | pack-remixicon |
1 493 | 0.56 | Apache-2.0 | Remix-Design/remixicon |
| Bootstrap Icons | pack-bootstrap |
1 409 | 0.46 | MIT | twbs/icons |
| Lucide | pack-lucide |
1 665 | 0.41 | ISC | lucide-icons/lucide |
| Iconoir | pack-iconoir |
1 383 | 0.41 | MIT | iconoir-icons/iconoir |
| Lobe Icons | pack-lobe |
538 | 0.29 | MIT | lobehub/lobe-icons |
| Ionicons | pack-ionicons |
1 356 | 0.28 | MIT | ionic-team/ionicons |
| Heroicons | pack-heroicons |
324 | 0.26 | MIT | tailwindlabs/heroicons |
| Octicons | pack-octicons |
348 | 0.15 | MIT | primer/octicons |
| Feather Icons | pack-feather |
287 | 0.06 | MIT | feathericons/feather |
| Carbon Icons | pack-carbon |
145 | 0.03 | Apache-2.0 | carbon-design-system/carbon-icons |
Total: 34 TTF files · ~15.0 MiB fonts on disk · 27 024 icon names across 14 packs (all-packs).
Trademarks
Some packs (notably Devicon and Lobe Icons) include glyphs that depict third-party brand marks. Upstream licenses cover the font/SVG artwork; they do not grant trademark rights to those brands. Using a logo glyph in a product UI may still require permission from the mark owner — treat brand icons as a separate compliance question from MIT/Apache/ISC.
Acknowledgments
iconflow is built on top of these excellent open-source icon libraries. We are grateful to all the contributors and maintainers of these projects:
- Bootstrap Icons by Bootstrap team
- Carbon Icons by IBM Carbon Design System
- Devicon by Devicon and contributors
- Feather Icons by Cole Bemis and contributors
- Fluent UI System Icons by Microsoft
- Heroicons by Tailwind Labs
- Iconoir by Luca Burgio and contributors
- Ionicons by Ionic team
- Lobe Icons by LobeHub
- Lucide by Lucide contributors
- Octicons by GitHub (Primer)
- Phosphor Icons by Phosphor Icons team
- Remix Icon by Remix Design
- Tabler Icons by codecalm and contributors
All icon fonts are converted from their original SVG sources and embedded as TTF files in this project. The fonts are included in the crate binary when corresponding feature flags are enabled.
License
This project is licensed under MIT License.
Third-party dependencies and fonts have their own licenses. See:
- THIRD_PARTY_LICENSES_CRATES.html for Rust crate licenses
- THIRD_PARTY_LICENSES_FONTS.md for font licenses