Flutter · flutter_launcher_icons 0.14.4
How to Change the App Icon in Flutter (flutter_launcher_icons)
Short answer
Add flutter_launcher_icons as a dev dependency, point image_path at a 1024×1024 PNG, and run dart run flutter_launcher_icons. It writes every Android and iOS size into your project. For Android adaptive icons, set both adaptive_icon_foreground and adaptive_icon_background.
Checked against flutter_launcher_icons in October 2026.
1. Add the package
dev_dependencies:
flutter_launcher_icons: "^0.14.4"2. Configure
Put this in pubspec.yaml or a separate flutter_launcher_icons.yaml in the project root.
flutter_launcher_icons:
image_path: "assets/icon/icon.png"
android: "launcher_icon"
ios: true
remove_alpha_ios: true
min_sdk_android: 21
# Android adaptive icon (both keys required)
adaptive_icon_foreground: "assets/icon/foreground.png"
adaptive_icon_background: "#1E40AF"
adaptive_icon_monochrome: "assets/icon/monochrome.png"
# iOS 18+ dark and tinted icons
image_path_ios_dark_transparent: "assets/icon/icon-dark.png"
image_path_ios_tinted_grayscale: "assets/icon/icon-tinted.png"| Key | What it does |
|---|---|
image_path | Source icon for every platform |
android | true, false, or a name. A name adds a new icon and keeps the default. |
ios | true or false |
remove_alpha_ios | Removes transparency from iOS icons (background_color_ios fills it) |
adaptive_icon_foreground | Logo layer for Android adaptive icons |
adaptive_icon_background | Hex color or image |
adaptive_icon_foreground_inset | Padding around the foreground, in percent. Default 16. |
adaptive_icon_monochrome | Themed icon for Android 13+ |
image_path_ios_dark_transparent | iOS 18+ dark icon, transparent background |
image_path_ios_tinted_grayscale | iOS 18+ tinted icon, grayscale |
web, windows, macos | Each takes generate: true and its own image_path |
3. Generate
flutter pub get
dart run flutter_launcher_iconsUsing another config file: dart run flutter_launcher_icons -f my_icons.yaml. Flavors use flutter_launcher_icons-<flavor>.yaml.
Flutter launcher icon not changing: fixes
| You see | Why | Fix |
|---|---|---|
| Old icon on the device | The launcher cached it | Uninstall the app, flutter clean, run again |
| No adaptive icon on Android | Only one of the two adaptive keys set | Set both adaptive_icon_foreground and adaptive_icon_background |
| App Store rejects the icon | The iOS icon has transparency | remove_alpha_ios: true |
| Logo cut off on Android | Foreground fills the layer | Add padding, or raise adaptive_icon_foreground_inset |
| Colors look different | Wrong hex order | Use #AARRGGBB |
FAQ
What size should the Flutter app icon be?
Use a 1024×1024 PNG. The package scales it down for every platform.
What is the run command?
dart run flutter_launcher_icons. The older flutter pub run form is replaced by dart run.
Why isn't the adaptive icon generated?
Both adaptive_icon_foreground and adaptive_icon_background must be set. image_path isn't used as the foreground.
Can I change the icon without the package?
Yes: replace the files in android/app/src/main/res/mipmap-* and ios/Runner/Assets.xcassets/AppIcon.appiconset.