Package selection guidance compiled from public package information, community data, and project usage.
fui_kit is a comprehensive Flutter package providing over 498 vector SVG icons across six distinct styles or themes. Designed for developers seeking versatile and scalable iconography, it supports multiple platforms including Android, iOS, Web, macOS, Windows, and Linux. The icons are optimized for performance and clarity, ensuring crisp rendering at any size. With easy integration via the Flutter pub command, fui_kit enhances UI design efficiency and visual consistency in applications. Its extensive library reduces dependency on external assets and streamlines icon management.
Use cases
App UI enhancement
Cross-platform icon consistency
Design system integration
Rapid prototyping
Brand-aligned visuals
Minimal asset overhead
Key features
498+ SVG icons
6 icon styles/themes
Vector-based scalability
Multi-platform support
Easy pub integration
Lightweight and fast
Suitable for
UI/UX designers
Flutter developers
Product teams
Startups
Enterprise apps
Open-source contributors
Considerations
Limited to icon set only
No customization tools included
Requires manual theme selection
Not suitable for complex illustrations
Dependent on external GitHub source
No built-in icon search functionality
Original README
Original README snapshot from the linked source repository. Visit the repository for the latest content.
fui_kit — Flat UI icons for Flutter
fui_kit is a flat icon pack for Flutter with 2,988 SVG icons — 498
unique glyphs in 6 styles (regular, bold and solid weights, each with
rounded or straight corners), based on the open source
Flaticon UIcons set.
🎨 Themeable — icons follow your app's IconTheme (light/dark mode
works out of the box).
♿ Accessible — first-class semanticLabel support for screen readers.
Every glyph exists in all six styles. Pick the class that matches the look
you want:
Style
Class
Example
Regular Rounded
RegularRounded
FUI(RegularRounded.bookmark)
Regular Straight
RegularStraight
FUI(RegularStraight.bookmark)
Bold Rounded
BoldRounded
FUI(BoldRounded.bookmark)
Bold Straight
BoldStraight
FUI(BoldStraight.bookmark)
Solid Rounded
SolidRounded
FUI(SolidRounded.bookmark)
Solid Straight
SolidStraight
FUI(SolidStraight.bookmark)
Icon names are lowerCamelCase versions of the original kebab-case Flaticon
names: address-book → RegularRounded.addressBook.
Customization
FUI(
SolidRounded.heart,
color: Colors.red, // defaults to IconTheme color
width: 40, // defaults to IconTheme size (24)
height: 40,
semanticLabel: 'Favorite', // announced by screen readers
)
Parameter
Type
Default
Description
file (positional)
String
required
Icon constant, e.g. RegularRounded.add
color
Color?
IconTheme color
Tint applied to the icon
width / height
double?
IconTheme size (24)
Rendered size
semanticLabel
String?
null
Accessibility label
fit
BoxFit
BoxFit.contain
How the icon fills its bounds
matchTextDirection
bool
false
Mirror the icon in RTL locales
Theming and dark mode
FUI resolves its color and size from the ambient
IconTheme,
exactly like Flutter's built-in Icon widget. That means icons
automatically switch color with your ThemeData in light/dark mode, and you
can restyle entire subtrees at once:
🧰 Programmatically — each style class exposes an all map
(kebab-case name → asset path), and FuiIcons.styles aggregates the six
styles. Handy for building your own icon picker:
// All Regular Rounded icons:for (final entry inRegularRounded.all.entries) {
print('${entry.key} -> ${entry.value}');
}
// Every style:FuiIcons.styles.forEach((styleName, icons) {
print('$styleName has ${icons.length} icons');
});
Migrating from 2.0.x
Nothing breaks — your existing code keeps compiling. Two things were
modernized in 2.1.0:
Icon constants are now lowerCamelCase. The old SCREAMING_CASE
constants still work but are deprecated and will be removed in 4.0.0:
FUI(RegularRounded.ADDRESS_BOOK) // deprecated
FUI(RegularRounded.addressBook) // ✅ use this
Icons now follow your theme. When you don't pass a color, the icon
uses the ambient IconTheme color (previously it was tinted grey), and
the default size honours IconTheme.size (24 in Material apps,
previously a fixed 30). Pass color/width/height explicitly if you
need the old values.
FAQ
Why don't I see the icon I expect?
Check the gallery — names follow
the original Flaticon UIcons naming. The same glyph exists in all 6 styles.
Can I use these icons commercially?
Yes. The package code is MIT licensed and the icons come from Flaticon's
open source UIcons
collection. See the attribution note below.
How big is the package?
The package bundles all 2,988 SVGs (~12 MB uncompressed) as Flutter assets.
A future 3.0.0 release will ship the icons as icon fonts with full
tree-shaking, so only the icons you use end up in your app binary. Follow
the roadmap for progress.
Icons: UIcons by
Flaticon, used under their open source/free
license. If you redistribute the icons outside this package, review
Flaticon's license terms.
Contributing
Found a bug or want a new feature? Open an issue or a pull request on
GitHub. If this package saves you
time, a ⭐ on GitHub and a 👍 on
pub.dev help others discover it.