Providers

Icon Providers#

Duxt Icons supports every icon set in the Iconify ecosystem — over 150 sets with 200,000+ icons. The IconProviders class helps you discover what's available.

Browsing Providers#

IconProviders.popular contains 20 curated, well-maintained sets — no API call needed:

for (final p in IconProviders.popular) {
  print('${p.prefix} - ${p.name} (${p.total} icons, ${p.license})');
}

Filter by Category#

// General purpose icons
final general = IconProviders.byCategory('General');

// Brand/social logos
final brands = IconProviders.byCategory('Brands / Social');

// Country flags
final flags = IconProviders.byCategory('Flags');

// Emoji
final emoji = IconProviders.byCategory('Emoji');

Find a Specific Set#

final provider = IconProviders.find('lucide');
if (provider != null) {
  print('${provider.name}: ${provider.total} icons');
  print('License: ${provider.license}');
  print('Samples: ${provider.samples.join(', ')}');
}

Fetch All Sets#

To discover all 150+ sets from the Iconify API:

final all = await IconProviders.fetchAll();
for (final p in all) {
  print('${p.prefix}: ${p.name} (${p.total} icons)');
}

General Purpose#

PrefixNameIconsLicenseStyle
lucideLucide1,541ISCOutline stroke
mdi Material Design Icons 7,447 Apache-2.0 Filled
tablerTabler Icons5,738MITOutline stroke
phPhosphor Icons7,896MITMultiple weights
heroiconsHeroicons888MITOutline + Solid
riRemix Icon2,860Apache-2.0Line + Fill
solar Solar Icons 7,110 CC BY 4.0 Multiple styles
material-symbols Material Symbols 15,118 Apache-2.0 Variable weight
ic Google Material Icons 10,955 Apache-2.0 Filled
carbonCarbon (IBM)2,139Apache-2.0Outline
mingcute MingCute Icons 4,248 Apache-2.0 Line + Fill

Brands and Logos#

PrefixNameIconsLicense
simple-iconsSimple Icons3,393CC0 1.0
logosSVG Logos1,834CC0 1.0
deviconDevicon860MIT

Flags#

PrefixNameIconsLicense
circle-flagsCircle Flags539MIT
flagpackFlagpack514MIT

Emoji#

PrefixNameIconsLicense
notoNoto Emoji3,663Apache-2.0
twemojiTwitter Emoji3,668MIT

Animated#

PrefixNameIconsLicense
line-mdMaterial Line (Animated)1,218MIT

Specialty#

PrefixNameIconsLicense
game-iconsGame Icons4,123CC BY 3.0

Using Any Prefix#

You don't need to "configure" a provider. Just use its prefix in the icon ID:

// These all work — any valid Iconify prefix is supported:
Icon('lucide:home')
Icon('mdi:account')
Icon('tabler:settings')
Icon('ph:globe')
Icon('heroicons:star')
Icon('ri:search-line')
Icon('solar:home-bold')
Icon('material-symbols:home')
Icon('carbon:dashboard')
Icon('simple-icons:dart')
Icon('circle-flags:al')
Icon('noto:rocket')
Icon('game-icons:crossed-swords')

Just make sure to preload them first:

await IconResolver.instance.preload([
  'lucide:home',
  'mdi:account',
  'simple-icons:dart',
]);

IconProvider Properties#

Each IconProvider has:

PropertyTypeDescription
prefix String The prefix for icon IDs (e.g., 'lucide')
nameStringHuman-readable name
totalintNumber of icons in the set
authorString?Author name
licenseString?License identifier
categoryString?Category grouping
samplesList<String>Example icon names

Browsing Icons Visually#

To browse icons and find the exact names you need, visit:

Next Steps#