A comprehensive Flutter icon library featuring beautiful duotone SVG icons organized by categories. This library provides over 1,000+ high-quality icons perfect for modern Flutter applications.
- π¨ 1,000+ Duotone SVG Icons - Beautiful, consistent icon design
- π± Flutter Optimized - Built specifically for Flutter applications
- ποΈ Organized Categories - Icons grouped by functionality and use case
- π― Easy to Use - Simple API with helper methods
- π¨ Customizable - Support for custom colors and sizes
- π¦ Lightweight - Only includes necessary dependencies
- Alerts & Feedback - Notifications, alerts, and user feedback icons
- Arrows - Navigation and directional arrows
- Charts - Data visualization and chart icons
- Communication - Mail, phone, chat, and messaging icons
- Development - Code, programming, and development tools
- Editor - Text editing and content creation icons
- Education - Learning and educational icons
- Files - File management and document icons
- Finance & eCommerce - Money, shopping, and business icons
- General - Common UI elements and general purpose icons
- Images - Photo, gallery, and media icons
- Layout - Grid, list, and layout icons
- Legal Icons - Legal and compliance related icons
- Maps & Travel - Location, navigation, and travel icons
- Media & Devices - Audio, video, and device icons
- Security - Lock, shield, and security icons
- Shapes - Geometric shapes and design elements
- Time - Clock, calendar, and time-related icons
- Users - User profiles, groups, and people icons
- Weather - Weather conditions and climate icons
Add this to your package's pubspec.yaml file:
dependencies:
flexicon_flutter:
git:
url: https://github.com/apptimus/flexicon-flutter.gitOr if you want to use it locally:
dependencies:
flexicon_flutter:
path: ../path/to/flexicon_flutterThen run:
flutter pub getFor easy integration with your API response format:
import 'package:flexicon_flutter/flexicon_flutter.dart';
// Your API response
final category = {
"id": 1,
"name": "Civil Law",
"slug": "civil-law",
"description": "Property disputes, Rental agreements, etc.",
"icon": "legal-document-01",
"sort_order": 1
};
// Get icon widget directly from API data
final iconWidget = LibertyIconsAPI.getCategoryIconWithFallback(
category['icon'] as String?,
size: 24,
color: Colors.blue,
);
// Use in your UI (always returns a valid widget)
IconButton(
icon: iconWidget,
onPressed: () {},
)import 'package:flutter/material.dart';
import 'package:flexicon_flutter/flexicon_flutter.dart';
class MyWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('My App'),
actions: [
IconButton(
icon: LibertyIcons.svg(
AlertsFeedbackIcons.bell01,
size: 24,
color: Colors.white,
),
onPressed: () {},
),
],
),
body: Center(
child: Column(
children: [
// Using helper methods
AlertsFeedbackIcons.alertCircleIcon(
size: 48,
color: Colors.red,
),
SizedBox(height: 16),
// Using direct SVG path
LibertyIcons.svg(
ArrowsIcons.arrowUp,
size: 32,
color: Colors.blue,
),
],
),
),
);
}
}import 'package:flexicon_flutter/flexicon_flutter.dart';
// Alerts & Feedback
AlertsFeedbackIcons.alertCircleIcon(color: Colors.red);
AlertsFeedbackIcons.bellIcon(color: Colors.blue);
AlertsFeedbackIcons.thumbsUpIcon(color: Colors.green);
// Arrows
ArrowsIcons.arrowUpIcon(color: Colors.black);
ArrowsIcons.chevronRightIcon(color: Colors.grey);
// General
GeneralIcons.homeIcon(color: Colors.blue);
GeneralIcons.settingsIcon(color: Colors.grey);
GeneralIcons.searchIcon(color: Colors.black);
// Communication
CommunicationIcons.mailIcon(color: Colors.red);
CommunicationIcons.phoneIcon(color: Colors.green);
CommunicationIcons.messageIcon(color: Colors.blue);// Custom size
LibertyIcons.svg(
GeneralIcons.heart,
size: 64,
color: Colors.red,
)
// Using duotone colors (if supported by the icon)
LibertyIcons.svgDuotone(
GeneralIcons.star01,
size: 48,
primaryColor: Colors.yellow,
secondaryColor: Colors.orange,
)ListView.builder(
itemCount: items.length,
itemBuilder: (context, index) {
return ListTile(
leading: LibertyIcons.svg(
GeneralIcons.user01,
size: 24,
color: Theme.of(context).primaryColor,
),
title: Text(items[index].title),
trailing: LibertyIcons.svg(
ArrowsIcons.chevronRight,
size: 16,
color: Colors.grey,
),
);
},
)alertCircle,alertTriangle,bell01,notificationBoxthumbsUp,thumbsDown
arrowUp,arrowDown,arrowLeft,arrowRightchevronUp,chevronDown,chevronLeft,chevronRight
home01,settings01,search01,user01heart,star01,bookmark01
mail01,phone01,message01,chat01video01,microphone01
getCategoryIcon(String iconName, {double? size, Color? color})- Get icon widget by namegetCategoryIconWithFallback(String? iconName, {double? size, Color? color})- Get icon with fallbackisValidIcon(String iconName)- Check if icon existsgetCategoryIcons(String categorySlug)- Get all icons for a categorygetFallbackIcon({double? size, Color? color})- Get fallback icon
svg(String iconPath, {double? size, Color? color})- Creates an SVG icon widgetsvgDuotone(String iconPath, {double? size, Color? primaryColor, Color? secondaryColor})- Creates a duotone SVG icon widgetgetIconPath(String category, String iconName)- Helper to get icon pathgetIconPathByName(String iconName)- Get icon path by unique namegetIconByName(String iconName, {double? size, Color? color})- Get icon widget by namehasIcon(String iconName)- Check if icon existsgetAllIconNames()- Get all available icon namesgetIconsByCategory(String categorySlug)- Get icons by category slug
Each category has its own class with:
- Static constants for icon paths
- Helper methods for common icons
- Consistent naming conventions
Check out the example/ directory for a complete Flutter app demonstrating:
- Icon browsing by category
- Custom color selection
- Size adjustment
- Interactive showcase
To run the example:
cd example
flutter runContributions are welcome! Please feel free to submit a Pull Request.
- Clone the repository
- Run
flutter pub getin the root directory - Run
flutter pub getin the example directory - Make your changes
- Test with
flutter test - Run the example app to verify changes
This project is licensed under the MIT License - see the LICENSE file for details.
- Icons designed with modern duotone style
- Optimized for Flutter applications
- Inspired by popular icon libraries
- Initial release
- 1,000+ duotone SVG icons
- 20 organized categories
- Flutter-optimized implementation
- Example app included