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

pubspec.yaml
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.yaml
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"
KeyWhat it does
image_pathSource icon for every platform
androidtrue, false, or a name. A name adds a new icon and keeps the default.
iostrue or false
remove_alpha_iosRemoves transparency from iOS icons (background_color_ios fills it)
adaptive_icon_foregroundLogo layer for Android adaptive icons
adaptive_icon_backgroundHex color or image
adaptive_icon_foreground_insetPadding around the foreground, in percent. Default 16.
adaptive_icon_monochromeThemed icon for Android 13+
image_path_ios_dark_transparentiOS 18+ dark icon, transparent background
image_path_ios_tinted_grayscaleiOS 18+ tinted icon, grayscale
web, windows, macosEach takes generate: true and its own image_path

3. Generate

bash
flutter pub get
dart run flutter_launcher_icons

Using 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 seeWhyFix
Old icon on the deviceThe launcher cached itUninstall the app, flutter clean, run again
No adaptive icon on AndroidOnly one of the two adaptive keys setSet both adaptive_icon_foreground and adaptive_icon_background
App Store rejects the iconThe iOS icon has transparencyremove_alpha_ios: true
Logo cut off on AndroidForeground fills the layerAdd padding, or raise adaptive_icon_foreground_inset
Colors look differentWrong hex orderUse #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.