Mobile
App Icon Sizes 2026: iOS, Android Adaptive Icons and Expo app.json
The app icon sizes iOS, Android and Expo need in 2026: the 1024 px master, adaptive icon layers and safe zone, mipmap densities, the Play 512 px icon and exact app.json keys.

Start from one square 1024 × 1024 PNG. That single master covers iOS (Xcode and Apple scale it down), the Expo icon key, and the Android adaptive icon foreground once you shrink the artwork into the safe zone. Android also wants a 512 × 512 PNG for the Google Play listing, and, if you build the native project yourself, launcher PNGs at five densities.
The app icon generator turns one image into all of it: an Xcode AppIcon.appiconset, Android mipmap folders, the Play icon and Expo's icon.png and adaptive-icon.png, zipped in your browser. This guide explains each size and why. Checked against Apple, Android and Expo docs on 13 November 2026.
The sizes at a glance
| Platform | File | Size | Notes |
|---|---|---|---|
| iOS, iPadOS | App icon | 1024 × 1024 px | System scales smaller sizes; PNG or Icon Composer file |
| Android launcher (legacy) | ic_launcher.png | 48, 72, 96, 144, 192 px | mdpi to xxxhdpi, in mipmap-* folders |
| Android adaptive | Foreground, background (and monochrome) layers | 108 × 108 dp | Logo inside the central 66 × 66 dp |
| Google Play listing | Icon | 512 × 512 px | 32-bit PNG, sRGB, max 1024 KB |
| Expo | icon | 1024 × 1024 px recommended | PNG, exactly square |
iOS: one 1024 px master
Apple's Human Interface Guidelines give the layout size for iOS, iPadOS and macOS icons as 1024 × 1024 px, and say the system scales it for Settings, notifications and other places. You can supply a flat bitmap such as PNG or a layered Icon Composer file. Apple prefers PNG for raster artwork. Supported colour spaces are sRGB, Gray Gamma 2.2 and Display P3.
In Xcode, iOS and iPadOS apps can generate all variants from a single 1024 × 1024 image. That is the default for new projects (the "Single Size" option). You only need individual assets if you want more detail at larger sizes.
Provide square layers and keep the artwork centred: the system masks the corners, and Apple warns that pre-masked layers hurt specular highlights and make edges look jagged.
iOS also lets people choose default, dark, clear or tinted icons, and the system generates the variants you don't provide. Apple's Xcode docs say to give the tinted icon as a grayscale image and the dark icon a transparent background.
Android: adaptive icons
Adaptive icons are the current Android format. The Android developer docs require two layers, foreground and background, each 108 × 108 dp, with clean edges (no masks or shadows baked in). Vectors are preferred, bitmaps work.
The geometry is the part people get wrong:
- The outer 18 dp on every side is reserved for masking and effects such as parallax.
- The inner 66 × 66 dp is the safe zone that no OEM mask clips.
- Your logo should be at least 48 × 48 dp and no more than 66 × 66 dp.
The optional third layer is monochrome. Since Android 13 (API 33), users can enable themed icons, and apps that provide a monochrome layer get tinted to the wallpaper. Per the docs, Android 16 QPR 2 themes icons automatically for apps that don't supply one.
<!-- res/mipmap-anydpi-v26/ic_launcher.xml -->
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/ic_launcher_background" />
<foreground android:drawable="@drawable/ic_launcher_foreground" />
<monochrome android:drawable="@drawable/ic_launcher_foreground" />
</adaptive-icon>
Legacy launcher densities
Android's density guide scales bitmaps in a 3:4:6:8:12:16 ratio, which from a 48 px mdpi baseline gives:
| Density folder | Scale | Size |
|---|---|---|
mipmap-mdpi | 1.0× | 48 × 48 |
mipmap-hdpi | 1.5× | 72 × 72 |
mipmap-xhdpi | 2.0× | 96 × 96 |
mipmap-xxhdpi | 3.0× | 144 × 144 |
mipmap-xxxhdpi | 4.0× | 192 × 192 |
Put launcher icons in mipmap folders, not drawable: the docs explain that mipmap directories are always kept in the APK, even in density-specific builds, so launchers that draw icons larger can pick the best resolution.
The Google Play icon
The Play listing icon is separate from the launcher icon. Google's specification: 512 × 512 px, 32-bit PNG, sRGB, maximum 1024 KB, a full square with no shadow. Google Play applies the rounded mask (a radius of 30% of the icon size) and the drop shadow itself, so don't round or shadow your file.
Expo: the app.json keys
Expo's app icon docs and config reference recommend a 1024 × 1024 PNG for icon. For ios.icon, Expo says the image must be exactly square (1023 × 1024 is invalid) and must fill the whole square with no rounded corners or other transparent pixels, because the OS applies the mask. Expo generates the other sizes.
{
"expo": {
"icon": "./assets/images/icon.png",
"android": {
"adaptiveIcon": {
"foregroundImage": "./assets/images/adaptive-icon.png",
"backgroundColor": "#ffffff"
}
}
}
}
Other documented options:
ios.iconcan be an object withlight,darkandtintedpaths, or a path to an Icon Composer.icondirectory (SDK 54 and later).android.adaptiveIcon.monochromeImagesupplies the Android 13+ themed icon.android.adaptiveIcon.backgroundImageoverridesbackgroundColorand must have the same dimensions asforegroundImage.
Expo's docs do not state a pixel size or safe zone for the adaptive layers and refer to Android's guidelines, so the 66/108 rule above applies.
Steps
- Export your logo as a square PNG or SVG, ideally 1024 × 1024.
- Open the app icon generator and add it. Pick a background colour: it fills transparent areas on the iOS and Expo icons and goes into
adaptiveIcon.backgroundColor. - Check the previews, especially the dashed 66 dp circle on the adaptive icon.
- Download the zip. Use
ios/AppIcon.appiconsetfor native iOS, theandroid/mipmap-*folders forres/, or theexpofolder for an Expo app'sassets/. - Paste the generated
app.jsonsnippet, then rebuild the app so the new icons are picked up.
The generator draws the Android foreground into the central 66 of 108 dp, keeps its transparency, and writes the Android launcher PNGs with a circle-clipped round variant. It does not produce dark, tinted or monochrome icon variants.
Common mistakes
- Pre-rounded corners. Apple, Google Play and Expo all say the platform applies the mask. Rounding it yourself gets it rounded twice.
- Logo outside the 66 dp circle. It will be clipped on some launchers.
- A transparent iOS icon. Expo says
ios.iconmust not have transparent pixels. Flatten it onto a solid colour.
Once the icon is done, the store listing needs screenshots: see App Store screenshot sizes in 2026 and the screenshot resizer. For design references, Mobbin and AppShot Gallery show how shipped apps present their icons and store pages. More tools for solo mobile developers are in best mobile tools for solo developers, and the rest of our free utilities are in the toolbox.
FAQ
What size is an iOS app icon?
1024 × 1024 px. Apple's HIG lists that as the layout size for iOS and iPadOS, and Xcode can generate every other size from one image.
How do I set my app icon in Expo?
Set expo.icon to a 1024 × 1024 PNG and, for Android, expo.android.adaptiveIcon.foregroundImage plus a backgroundColor.