← Blog

How to Create App Icons for iOS and Android

March 9, 2025 · App Asset Generator

Both Apple and Google require dozens of icon bitmaps for a single app: different contexts (Home Screen, settings, notifications) and different screen densities. Creating them by hand in an image editor means dozens of export steps, manual file naming, and a high risk of mismatching Xcode’s Contents.json or Android’s mipmap folders. Here is a practical workflow that stays maintainable across updates.

Start with one high-quality master

Use a square image, ideally 1024×1024 pixels or larger, in PNG or JPEG. Work in sRGB unless you have a specific wide-gamut need (most store assets are sRGB). Avoid hairline strokes, micro-text, and busy backgrounds that become noise when the icon is shown at 29×29 pt in Settings. If your logo is not square, place it on a solid or simple gradient field so the final asset still reads as a square without awkward padding.

iOS: App Store / Xcode Asset Catalog

Apple stores icons in Assets.xcassets/AppIcon.appiconset. Each entry corresponds to a logical size in points (20pt through 1024pt) with 1x, 2x, or 3x PNGs as required. The Contents.json file is an index: if filenames or sizes drift, Xcode shows warnings and App Store Connect may reject the marketing icon.

The 1024×1024 slot is special: it is the App Store listing icon. Apple generally requires it without an alpha channel. Do not bake iOS’s rounded-rectangle mask into the file; the OS applies the mask. App Asset Generator emits the full AppIcon.appiconset plus valid Contents.json so you can merge into an existing catalog or replace the default empty set in a new project.

Android: Google Play and mipmap

Android expects launcher icons under res/mipmap-* (mdpi, hdpi, xhdpi, xxhdpi, xxxhdpi). Each density maps to concrete pixel sizes—e.g. 48×48 at mdpi scaling up to 192×192 at xxxhdpi. Many OEM launchers crop icons to a circle; supplying ic_launcher_round.png alongside ic_launcher.png in each folder keeps your brand consistent in circular masks.

Play Console also asks for a 512×512 high-res icon and a feature graphic; those are listing metadata. Your in-app mipmap set is still required inside the binary—do not skip density folders or you will see soft icons on some devices.

End-to-end workflow

  1. Finalize the master artwork in Figma, Sketch, Photoshop, or Affinity.
  2. Export a single square PNG at 1024×1024 or larger.
  3. Open App Asset Generator, choose the App Icon tab, upload, and select iOS, Android, or both.
  4. Set the Android base name if needed (commonly ic_launcher).
  5. Download the ZIP; merge AppIcon.appiconset into Xcode and mipmap folders into Android Studio’s res/.
  6. Run on a real device and check Home Screen, task switcher, and Play Store / App Store previews.

After rebranding

When the logo changes, regenerate the entire set from a new master rather than scaling up a small old icon. Stale icons in forgotten densities are a common source of “it looks fine on my phone but blurry on another” bugs.

← Blog · Home · About · FAQ · How it works · Privacy · Terms