lucide_icons

Pub Version Pub Monthly Downloads Pub Likes Pub Points Pub Publisher Buy Me A Coffee

Lucide version: 1.60.0

Lucide Icons (lucide.dev) for Flutter. Visit the website for the full list of icons.

Example

Regular Icons (Default)

import 'package:lucide_icons_flutter/lucide_icons.dart';

Icon(LucideIcons.activity);

RTL (Right-to-Left) Support

For RTL support, use the Dir variant:

import 'package:lucide_icons_flutter/lucide_icons.dart';

const Directionality(
  textDirection: TextDirection.rtl,
  child: Icon(LucideIcons.aArrowDownDir),
);

Stroke Weights (100 to 600)

Stroke weights are organized into modular libraries for faster compilation and optimal IDE autocomplete.

import 'package:lucide_icons_flutter/lucide_icons_300.dart';

Icon(LucideIcons300.activity);
Icon(LucideIcons300.activityDir); // RTL support

Option 2: Import all weights at once

import 'package:lucide_icons_flutter/lucide_icons_weights.dart';

Icon(LucideIcons100.activity);
Icon(LucideIcons200.activity);
Icon(LucideIcons300.activity);
Icon(LucideIcons400.activity);
Icon(LucideIcons500.activity);
Icon(LucideIcons600.activity);

Web Debug Mode (DDC) Optimization

In older versions (v3.x), bundling ~30,000 icon variants into a single class could trigger a StackOverflowError in DDC during Web debug mode (dart-lang/sdk#64590).

By modularizing the weights into separate libraries, lib/lucide_icons.dart is reduced by ~85% (from 14 MB to ~1.8 MB), completely eliminating the DDC stack overflow issue while keeping full backwards compatibility for standard icons!

enter image description here


🔄 Migration Guide (v3.x ➔ v4.0.0)

Version 4.0.0 separates font weights into modular libraries for faster compilation, better tree-shaking, and instant IDE autocomplete.

1. Standard Icons (Zero changes needed)

If you only use regular weight icons, you don't need to change anything:

import 'package:lucide_icons_flutter/lucide_icons.dart';

Icon(LucideIcons.home); // Works exactly the same as before!

2. Stroke Weight Icons (100 to 600)

Weight variants are now organized into dedicated classes:

Old (v3.x) New (v4.0.0) Library to Import
LucideIcons.activity LucideIcons.activity package:lucide_icons_flutter/lucide_icons.dart (Unchanged)
LucideIcons.activityDir LucideIcons.activityDir package:lucide_icons_flutter/lucide_icons.dart (Unchanged)
LucideIcons.activity100 LucideIcons100.activity package:lucide_icons_flutter/lucide_icons_100.dart
LucideIcons.activity200 LucideIcons200.activity package:lucide_icons_flutter/lucide_icons_200.dart
LucideIcons.activity300 LucideIcons300.activity package:lucide_icons_flutter/lucide_icons_300.dart
LucideIcons.activity400 LucideIcons400.activity package:lucide_icons_flutter/lucide_icons_400.dart
LucideIcons.activity500 LucideIcons500.activity package:lucide_icons_flutter/lucide_icons_500.dart
LucideIcons.activity600 LucideIcons600.activity package:lucide_icons_flutter/lucide_icons_600.dart
LucideIcons.activity300Dir LucideIcons300.activityDir package:lucide_icons_flutter/lucide_icons_300.dart

Tip: If your project uses multiple stroke weights, import package:lucide_icons_flutter/lucide_icons_weights.dart to access all weights (LucideIcons100 – LucideIcons600) in one import!


remix_icons_flutter

Pub Version Pub Monthly Downloads Pub Likes Pub Points

A Remix Icon library package for Flutter applications. Remix Icon (remixicon.com) is an open-source neutral style icon system with 2800+ icons.

📦 Package: remix_icons_flutter on pub.dev

import 'package:remix_icons_flutter/remix_icons.dart';

Icon(RemixIcons.home_line);
Icon(RemixIcons.home_fill);

Support

If you find this project useful, you can support further development by buying me a coffee:

Buy Me A Coffee

Contributors

vqh2602 github-actions[bot] vqh2601 huyvq-bachkhoa alessandro-amos cdeil