https://github.com/mrrhak/icons_launcher
Icons Launcher - A command-line tool that simplifies the task of updating your Flutter app's launcher icon. Full flexibility allows you to only update the launcher icon for specific platforms as needed.
https://github.com/mrrhak/icons_launcher
dart flutter flutter-icons-launcher icons icons-launcher launcher launcher-icons
Last synced: 5 months ago
JSON representation
Icons Launcher - A command-line tool that simplifies the task of updating your Flutter app's launcher icon. Full flexibility allows you to only update the launcher icon for specific platforms as needed.
- Host: GitHub
- URL: https://github.com/mrrhak/icons_launcher
- Owner: mrrhak
- License: mit
- Created: 2022-04-30T04:28:52.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2025-09-25T07:28:54.000Z (10 months ago)
- Last Synced: 2025-11-27T17:12:05.536Z (8 months ago)
- Topics: dart, flutter, flutter-icons-launcher, icons, icons-launcher, launcher, launcher-icons
- Language: Dart
- Homepage: https://pub.dev/packages/icons_launcher
- Size: 7.01 MB
- Stars: 168
- Watchers: 0
- Forks: 15
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
README
🍃 Icons Launcher 🍃
A command-line tool that simplifies the task of updating your Flutter app's launcher icon. Full flexibility allows you to only update the launcher icon for specific platforms as needed.
---
### Platform Support
| Android | iOS | macOS | Web | Linux | Windows |
| :-----: | :-: | :---: | :-: | :---: | :-----: |
| ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
## Guide
### 1. Setup the config file
Add your Icons Launcher configuration to your `pubspec.yaml` or create a new config file called `icons_launcher.yaml`.
An example is shown below. More complex examples [here](https://github.com/mrrhak/icons_launcher/tree/master/example).
#### Add config to `pubspec.yaml` or create a separate `icons_launcher.yaml`
```yaml
icons_launcher:
image_path: "assets/ic_logo_radius.png"
platforms:
android:
enable: true
ios:
enable: true
```
> **Note**
> For IOS 18 icons `dark` and `tinted` also supported. See more on example config below.
### 2. Run the package
After setting up the configuration, all that is left to do is run the package:
```sh
flutter pub get
dart run icons_launcher:create
```
If you name your configuration file something other than `icons_launcher.yaml` or `pubspec.yaml` you will need to specify the name of the file when running the package.
```sh
flutter pub get
dart run icons_launcher:create --path
```
> **Note**
>
> If you are not using the existing `pubspec.yaml` your config file must still be located in the same directory as it.
If you encounter any issues [please report them here](https://github.com/mrrhak/icons_launcher/issues).
In the above configuration, the package is setup to replace the existing launcher icons in both the Android and iOS project.
---
## Attributes
Shown below is the full list of attributes which you can specify within your Icons Launcher configuration.
| Icons Launcher Option | Type | Default | Description |
| --------------------- | ------ | ------- | -------------------------------------------- |
| `image_path` | String | `null` | The image file path |
| `platforms` | Object | `null` | Use for specific platforms to generate icons |
---
| Platforms Option | Type | Default | Description |
| ---------------- | ------ | ------- | --------------------------------- |
| `android` | Object | `null` | Use for specific Android platform |
| `ios` | Object | `null` | Use for specific iOS platform |
| `macos` | Object | `null` | Use for specific macOS platform |
| `windows` | Object | `null` | Use for specific Windows platform |
| `web` | Object | `null` | Use for specific Web platform |
| `linux` | Object | `null` | Use for specific Linux platform |
| Android Option | Type | Default | Description |
| --------------------------- | ------- | ------- | ------------------------------------------------------ |
| `enable` | Boolean | `false` | Use for enable Android platform |
| `image_path` | String | `null` | The image file path |
| `notification_image` | String | `null` | Image for the notification icon |
| `adaptive_background_color` | String | `null` | Color for fill out the background of the adaptive icon |
| `adaptive_background_image` | String | `null` | Image for fill out the background of the adaptive icon |
| `adaptive_foreground_image` | String | `null` | Image for the icon foreground of the adaptive icon |
| `adaptive_round_image` | String | `null` | Image for the round icon of the adaptive icon |
| `adaptive_monochrome_image` | String | `null` | Image for the monochrome version of the adaptive icon |
| iOS Option | Type | Default | Description |
| -------------- | ------- | ------- | ------------------------------- |
| `enable` | Boolean | `false` | Use for enable iOS platform |
| `image_path` | String | `null` | The image file path |
| `dark_path` | String | `null` | The dark image file path |
| `tinted_path` | String | `null` | The tinted image file path |
| Web Option | Type | Default | Description |
| -------------- | ------- | ------- | ------------------------------- |
| `enable` | Boolean | `false` | Use for enable Web platform |
| `image_path` | String | `null` | The image file path |
| `favicon_path` | String | `null` | The image file path |
| macOS Option | Type | Default | Description |
| -------------- | ------- | ------- | ------------------------------- |
| `enable` | Boolean | `false` | Use for enable macOS platform |
| `image_path` | String | `null` | The image file path |
| Windows Option | Type | Default | Description |
| -------------- | ------- | ------- | ------------------------------- |
| `enable` | Boolean | `false` | Use for enable Windows platform |
| `image_path` | String | `null` | The image file path |
| Linux Option | Type | Default | Description |
| -------------- | ------- | ------- | ------------------------------- |
| `enable` | Boolean | `false` | Use for enable Linux platform |
| `image_path` | String | `null` | The image file path |
---
## Flavor support
Create a Icons Launcher configuration file for your flavor. The config file is called `icons_launcher-.yaml` by replacing `` by the name of your desired flavor.
Example: `icons_launcher-dev.yaml` and `icons_launcher-prod.yaml`
Run with flavor:
```sh
flutter pub get
# create for dev flavor
dart run icons_launcher:create --flavor dev
# create for prod flavor
dart run icons_launcher:create --flavor prod
```
Alternatively, you can run multiple flavors at the same time with the following command:
```bash
dart run icons_launcher:create --flavors dev,prod
```
The configuration file format is the same.
---
## Example
```yaml
icons_launcher:
image_path: "assets/ic_logo_radius.png"
platforms:
android:
enable: true
image_path: "assets/ic_logo_radius.png"
notification_image: "assets/ic_foreground.png"
# adaptive_background_color: '#ffffff'
adaptive_background_image: "assets/ic_background.png"
adaptive_foreground_image: "assets/ic_foreground.png"
adaptive_round_image: "assets/ic_logo_round.png"
adaptive_monochrome_image: "assets/ic_black_white.png"
ios:
enable: true
image_path: "assets/ic_logo_rectangle_light.png"
# For iOS 18+ (support dark and tinted)
dark_path: "assets/ic_logo_rectangle_dark.png"
tinted_path: "assets/ic_logo_rectangle_tinted.png"
web:
enable: true
image_path: "assets/ic_logo_radius.png"
favicon_path: "assets/ic_logo_round.png"
macos:
enable: false
image_path: "assets/ic_logo_radius.png"
windows:
enable: false
image_path: "assets/ic_logo_radius.png"
linux:
enable: false
image_path: "assets/ic_logo_radius.png"
```
---
## Activities
