A command-line tool that simplifies updating Flutter app launcher icons across multiple platforms with full flexibility.
Flutter Launcher Icons is a Dart package and command-line tool that automates the process of generating and updating launcher icons for Flutter applications across multiple platforms, including Android, iOS, web, Windows, and macOS. It solves the tedious, manual task of creating and configuring platform-specific icon assets by allowing developers to define a single source image and configuration.
Flutter developers building cross-platform mobile, desktop, or web applications who need to manage app icons efficiently and consistently across different operating systems.
Developers choose Flutter Launcher Icons because it drastically reduces icon setup time, ensures platform compliance, and provides granular control over adaptive icons, flavors, and platform-specific variations without manual asset manipulation.
Flutter Launcher Icons - A package which simplifies the task of updating your Flutter app's launcher icon. Fully flexible, allowing you to choose what platform you wish to update the launcher icon for and if you want, the option to keep your old launcher icon in case you want to revert back sometime in the future. Maintainer: @MarkOSullivan94
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Generates icons for Android, iOS, web, Windows, and macOS from a single source image, eliminating manual asset creation for each platform as shown in the multi-platform configuration examples.
Allows per-platform customization, including Android adaptive icons with background/foreground settings and iOS 18+ dark/tinted modes, with specific attributes like adaptive_icon_background and image_path_ios_dark_transparent.
Supports app flavors via separate config files (e.g., flutter_launcher_icons-<flavor>.yaml), enabling distinct icons for different build variants without code duplication.
Optionally preserves old icons by specifying custom paths instead of overriding defaults, providing a safety net for reversions as mentioned in the attributes section.
The YAML config has numerous platform-specific attributes and nested options (e.g., for adaptive icons or iOS modes), which can be overwhelming and error-prone for simple setups.
Known issues with package incompatibilities, such as conflicts with flutter_native_splash, requiring manual overrides in pubspec.yaml as highlighted in troubleshooting.
Limited to generating static icon assets; does not support runtime icon updates or dynamic generation without re-running the tool, which may not suit apps with conditional icon changes.