Introduction#
A hand-crafted icon set covering 37 categories with six distinct visual styles including two duotone variants. Fully bundled offline in one Flutter package.
Solar Iconkit is a Flutter package that bundles the entire Solar icon set by 480 Design — 1,231 icons across 6 native styles (7,386 SVG variants total) — behind a single, type-safe SolarIcon widget. MIT-licensed, works offline, no setup beyond adding the dependency. Preview every icon on the browser.
This site is the icon browser: use it to preview icons, pick a style, and copy either the Flutter widget code or the raw SVG. The package itself is on pub.dev.
Installation#
Add to your Flutter project's pubspec.yaml:
dependencies:
solar_iconkit: ^0.3.0Then fetch:
flutter pub add solar_iconkit
# or
flutter pub getImport wherever you need icons:
import 'package:solar_iconkit/solar_iconkit.dart';Usage#
Every icon is a SolarIcon widget. Reference icons by their generated constant on SolarIcons and pick a style from SolarIconStyle.
Widget API#
// Minimum — default linear style, size from IconTheme (24 px fallback)
SolarIcon(SolarIcons.home2)
// Explicit style and size
SolarIcon(
SolarIcons.heart,
style: SolarIconStyle.boldDuotone,
size: 32,
)
// Full API — every parameter
SolarIcon(
SolarIcons.rocket,
style: SolarIconStyle.boldDuotone,
size: 48,
color: Colors.deepPurple,
opacity: 0.9,
semanticLabel: 'Launch',
)| Parameter | Type | Default |
|---|---|---|
| name | String | required |
| style | SolarIconStyle | linear |
| size | double? | IconTheme → 24 |
| color | Color? | IconTheme → black87 |
| opacity | double | 1.0 |
| semanticLabel | String? | null |
| fit | BoxFit | BoxFit.contain |
| alignment | AlignmentGeometry | Alignment.center |
| matchTextDirection | bool | false |
With IconTheme#
SolarIcon integrates with Flutter's built-in IconTheme. When size or coloraren't set on the widget, they fall back to the ambient theme — matching the behaviour of Flutter's Icon widget.
IconTheme(
data: IconThemeData(color: Colors.indigo, size: 20),
child: Row(children: [
SolarIcon(SolarIcons.home2), // picks up indigo + size 20
SolarIcon(SolarIcons.heart), // same
]),
)
// Under MaterialApp, ThemeData.iconTheme themes every SolarIcon:
MaterialApp(
theme: ThemeData(
iconTheme: IconThemeData(color: Colors.black87, size: 24),
),
home: MyApp(),
)Styles#
Every Solar icon comes in six distinct styles. Each has a specific visual character and works best in certain contexts.
linear for chrome, promote to bold for active/selected states, and reserve boldDuotone for feature moments.Icon naming#
Solar icon names are kebab-case (alt-arrow-down, home-2). The Flutter package converts them to camelCase Dart identifiers. Iconify identifiers on this browser follow the pattern solar:<name>-<style>.
SolarIcons.home2 // "home-2"
SolarIcons.altArrowDown // "alt-arrow-down"
SolarIcons.i4k // "4k" → leading digit gets 'i' prefix
SolarIcons.caseIcon // "case" → Dart reserved word gets 'Icon' suffix
SolarIcons.all // List<String> of every iconIconify identifiers used in the browser and SVG source:
solar:home-2-linear → Linear style
solar:home-2-outline → Outline style
solar:home-2-broken → Broken stroke
solar:home-2-bold → Bold filled
solar:home-2-line-duotone → Line Duotone
solar:home-2-bold-duotone → Bold DuotoneCredits#
- Icons — Solar icon set by 480 Design (MIT).
- Icon data — Provided by Iconify (MIT).
- Flutter package — Published on pub.dev.