Android App Icon Sizes & Design Guide 2026
Complete reference for Android app icon sizes, adaptive icon format, density buckets, and design best practices for 2026.
Android app icons need one 512x512 PNG for the Play Store listing and a full launcher set on device, from 48x48 at mdpi up to 192x192 at xxxhdpi. Since Android 8.0 the launcher icon is an adaptive icon: two 108dp layers the system masks into the shape each manufacturer uses.
Inside your APK, each of those sizes lives in its own res/mipmap-* density folder — xxhdpi is 144x144 px, xxxhdpi is 192x192 px, and a missing folder is why an icon renders blurry on some phones and fine on others. This guide covers every Android app icon size for 2026, which file goes in which mipmap folder, the adaptive icon format, how to verify the icons actually shipped in your build, and how to generate the whole set in seconds with AI.
XXHDPI Icon Size for an APK: 144x144 px in mipmap-xxhdpi
The xxhdpi icon size for an APK is 144x144 pixels, stored at res/mipmap-xxhdpi/ic_launcher.png. xxhdpi is the 480 DPI bucket at 3x scale. If you ship adaptive icons, the xxhdpi foreground and background layers are 324x324 px each on the 108dp canvas.
That bucket matters more than the others because xxhdpi covers the 3x density class that most current mid-range and flagship Android handsets fall into. Skip that one folder and the launcher falls back to a neighbouring density bucket and rescales the bitmap to fit, which is how an icon ends up looking soft on the majority of real devices while looking fine on your test handset. Here is the fast answer for every APK density folder:
| mipmap folder | Legacy launcher icon | Adaptive layer (108dp) |
|---|---|---|
mipmap-mdpi | 48x48 px | 108x108 px |
mipmap-hdpi | 72x72 px | 162x162 px |
mipmap-xhdpi | 96x96 px | 216x216 px |
mipmap-xxhdpi | 144x144 px | 324x324 px |
mipmap-xxxhdpi | 192x192 px | 432x432 px |
Confirm the file actually shipped with unzip -l app-release.apk | grep xxhdpi. A missing density folder is silent at build time and only surfaces as a blurry icon on someone else's phone. The free app icon generator writes all five mipmap folders plus the adaptive layers in one export, so no bucket goes missing, and the Android icon generator covers the adaptive foreground and background separately.
Complete Android App Icon Size Chart
Android app icons come in two categories: the Google Play Store listing icon and the on-device launcher icon. Each serves a different purpose and has distinct requirements.
The Google Play Store icon appears on your app listing page, in search results, and in recommendation carousels. Google requires a 512x512 pixel PNG with 32-bit color and no transparency. This icon is what users see before they ever open your app, so it needs to be visually clear at small sizes.
The launcher icon appears on the user's home screen and app drawer. Since Android 8.0 (API 26), Android supports adaptive icons — strongly recommended, and expected by modern launchers — which separate the foreground and background into two layers. Legacy bitmap icons still resolve, but the system applies its own fallback treatment to them. Each layer is 108x108dp, and the system crops them into shape (circle, squircle, or teardrop) depending on the device manufacturer. The visible safe zone is the inner 72x72dp area, so keep your main design elements within that boundary.
Here is the complete size reference table for all density buckets, including the mipmap folder each file belongs in:
| Density | DPI | Scale | mipmap folder | Launcher Icon | Adaptive Layer (108dp) |
|---|---|---|---|---|---|
| ldpi | 120 | 0.75x | mipmap-ldpi | 36x36 px | 81x81 px |
| mdpi | 160 | 1x | mipmap-mdpi | 48x48 px | 108x108 px |
| hdpi | 240 | 1.5x | mipmap-hdpi | 72x72 px | 162x162 px |
| xhdpi | 320 | 2x | mipmap-xhdpi | 96x96 px | 216x216 px |
| xxhdpi | 480 | 3x | mipmap-xxhdpi | 144x144 px | 324x324 px |
| xxxhdpi | 640 | 4x | mipmap-xxxhdpi | 192x192 px | 432x432 px |
| Play Store | — | — | not in APK | 512x512 px | N/A |
Two notes on that table. The Play Store icon is uploaded to the Play Console and is not bundled inside the APK or AAB. And ldpi is legacy — Android Studio's Image Asset Studio no longer generates it by default, and the platform will downscale mdpi for the handful of remaining low-density devices. Include it only if you are supporting very old hardware.
Android Icon Sizes in Your APK: Which File Goes in Which mipmap Folder
The size chart above tells you the pixel dimensions. The part that actually breaks builds is where those files live. Android resolves your launcher icon at runtime by looking up res/mipmap-<density>/ic_launcher.png for the device's density bucket. If the folder for that bucket is missing, Android falls back to the nearest available density and scales it — which is exactly why an icon can look crisp on one phone and soft on another.
A correct icon set inside an APK looks like this:
res/
├── mipmap-mdpi/ic_launcher.png 48x48
├── mipmap-hdpi/ic_launcher.png 72x72
├── mipmap-xhdpi/ic_launcher.png 96x96
├── mipmap-xxhdpi/ic_launcher.png 144x144
├── mipmap-xxxhdpi/ic_launcher.png 192x192
└── mipmap-anydpi-v26/ic_launcher.xml adaptive icon definition
Use mipmap, not drawable. This is the single most common structural mistake. Launcher icons belong in mipmap-* folders because those resources are preserved when the build system strips resources for other densities during APK splitting. Icons placed in drawable-* can be removed from density-split builds, and the launcher then has nothing to display at the right resolution.
The mipmap-anydpi-v26 folder holds the adaptive icon XML rather than a bitmap. It has no density suffix because the definition is resolution-independent — it points at layers that are themselves density-qualified.
How to verify the icons shipped in your build
Do not assume the icons made it in. Three ways to check the built artifact directly:
- Android Studio: Build → Analyze APK, then open the
restree and confirm eachmipmap-*folder is present with the expected file size. - Command line:
unzip -l app-release.apk | grep mipmaplists every icon resource in the package. - Manifest check:
aapt dump badging app-release.apk | grep iconshows which resource the launcher will actually resolve.
If you build with Gradle resource shrinking or density splits, run this check on the release artifact rather than the debug build — the two can differ.
Every Density Bucket Explained: ldpi to xxxhdpi
Density buckets exist because Android runs on screens ranging from roughly 120 to 640 dots per inch. Rather than ask developers to target every physical screen, Android groups devices into buckets and picks the closest match.
The math is a single multiplier against the mdpi baseline of 160 dpi. Multiply any dp value by the scale factor to get pixels: a 48dp launcher icon is 48 px at mdpi (1x), 72 px at hdpi (1.5x), 96 px at xhdpi (2x), 144 px at xxhdpi (3x), and 192 px at xxxhdpi (4x).
In practice, xxhdpi and xxxhdpi are the two that matter most in 2026 — nearly all current flagship and mid-range Android phones fall into those buckets. If you are going to ship an incomplete set, those are the two to get right. But shipping the full ladder costs nothing once your source artwork is a single high-resolution square, which is the whole point of generating rather than hand-exporting.
Always export from a source at 512x512 or larger. Scaling a 144x144 xxhdpi asset up to 192x192 for xxxhdpi produces visible softening; scaling down from a large master does not.
How Adaptive Icons Work on Android
Adaptive icons were introduced in Android 8.0 Oreo to give device manufacturers control over icon shape while letting developers maintain consistent branding. The format splits your icon into two distinct layers that the system composites together.
The background layer is a 108x108dp canvas that fills the entire shape. It can be a solid color, gradient, or pattern. The foreground layer sits on top and contains your actual icon artwork. Both layers extend beyond the visible area — the system uses the extra space to create visual effects like parallax motion when the user tilts the device.
The critical rule is the safe zone. Only the inner 72x72dp of the 108x108dp canvas is guaranteed to be visible after the system applies its mask, and because most masks are round, Google's guidance is to keep key content inside a 66dp-diameter circle rather than relying on the full 72dp square. Any design elements outside this zone may be clipped. This catches many developers off guard when their icon looks fine in Android Studio but appears cropped on certain devices.
To implement adaptive icons correctly, create your ic_launcher.xml in res/mipmap-anydpi-v26/:
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@color/ic_launcher_background"/>
<foreground android:drawable="@drawable/ic_launcher_foreground"/>
<monochrome android:drawable="@drawable/ic_launcher_monochrome"/>
</adaptive-icon>
The <monochrome> element is what powers themed icons on Android 13 and later. It points at a single-colour drawable that the system tints to match the user's wallpaper.
Common Android App Icon Design Mistakes
Several recurring mistakes cause Android app icons to look unprofessional or fail Play Store review. Understanding these issues upfront saves rework and potential rejection.
Using transparency in the Play Store icon is a frequent error. Google explicitly requires a non-transparent 512x512 PNG for the store listing. Submitting an icon with transparency results in a black or white background that you did not intend, making the icon look broken in search results.
Placing design elements outside the adaptive icon safe zone is the second most common problem. Developers design a full-bleed icon and then wonder why the logo text gets clipped on Samsung devices (which use circles) versus Pixel devices (which use squircles). Always test your icon against multiple mask shapes before publishing.
Putting launcher icons in drawable-* instead of mipmap-* is the mistake that survives review and only shows up as a blurry icon on user devices. See the mipmap folder section above.
Overly complex designs that become illegible at small sizes represent another common issue. Your launcher icon displays as small as 48x48 pixels on some screens. If your icon relies on fine text, thin lines, or intricate details, those elements will blur into noise at low densities. Keep the design simple with bold shapes and high contrast.
Ignoring dark mode is an increasingly costly oversight. Since Android 13, users can enable themed icons that apply a monochrome tint to adaptive icons. If your icon doesn't include a monochrome layer, it will look inconsistent on home screens where other apps support theming.
APK Icon Maker and mipmap Icon Generator: Build the Full Set at Once
If you are searching for an APK icon maker or a mipmap icon generator, what you are really after is one source design exported into every density folder without doing it by hand in Figma or Photoshop.
IconikAI's App Icon Generator produces a 1024x1024 master from a plain-language description in under 10 seconds, then exports the Android set — mdpi through xxxhdpi plus the 512x512 Play Store icon — in one click. You describe the app, pick from 15+ curated styles including flat, 3D, gradient, glassmorphism, minimal and isometric, and the generator returns variants you can refine by chatting with it rather than reopening a design file.
Each generation costs 2 credits and produces 2 variants. Credits are pay-as-you-go with no subscription, starting at $5 for 200 credits plus 100 bonus credits. Over 100,000 developers use the platform, which holds an average rating of 4.8 to 4.9 stars.
For the dedicated Android workflow, the Android Icon Generator page walks through adaptive layers, the launcher ladder and the Play Console 512x512 split. If you want the tool comparison first, the Android App Icon Generator guide covers how AI generators differ from upload-and-resize resizers like Icon Kitchen and Android Asset Studio. Generating icons for several apps at once is covered on the batch icon generator page.
Generate Android App Icons with AI in Seconds
Instead of manually creating all density buckets and adaptive icon layers, you can generate a production-ready set from a text description and skip the export ladder entirely.
The generator creates icons in all required sizes for Android with a single click, optimized so the focal point sits inside the adaptive icon safe zone. Because the master is 1024x1024, every density below it is a clean downscale.
If you need icons for both platforms, the companion iOS App Icon Size Guidelines Guide covers Apple's requirements, and the App Icon Size Chart puts iOS, Android, macOS and web dimensions in one lookup table. For a broader overview of AI icon tools, see the Best AI App Icon Generators 2026 roundup.
Android Icon Design Best Practices for 2026
A few principles hold up well across the current Play Store charts.
Bold, simple shapes read better at launcher size than complex ones. At 48x48 px, a single clear symbol with strong colour contrast stays legible where fine detail and small text do not.
Colour consistency with your app's brand palette reinforces recognition. Your icon appears in the launcher, the notification shade, the recent apps carousel, and the Play Store. If the icon colour doesn't match your app's splash screen and UI accent, the experience feels disconnected.
Style choice is worth a deliberate decision rather than a default. The app icon design trends guide covers what is current in 2026, and glassmorphism app icons goes deep on the blur and opacity values that survive at small sizes. If you are deciding between an icon and a wordmark, the app logo generator guide covers the distinction.
Testing icon variants against each other using the ASO Growth Agent helps identify which design drives more installs. The agent runs continuous experiments on your store listing metadata, including icon A/B tests, for $50 per app per month with a 30-day money-back guarantee.
For developers building cross-platform apps with Flutter, the Flutter App Icon Generator guide covers the flutter_launcher_icons workflow that automates icon placement for both Android and iOS from a single source image.
FAQ
What is the xxhdpi icon size for an APK?
The xxhdpi launcher icon is 144x144 pixels, and it belongs in res/mipmap-xxhdpi/ic_launcher.png. If you are supplying adaptive icon layers instead of a legacy bitmap, the xxhdpi foreground and background layers are 324x324 pixels each (108dp at 3x).
Which mipmap folder does each Android icon size go in?
mipmap-mdpi holds the 48x48 icon, mipmap-hdpi 72x72, mipmap-xhdpi 96x96, mipmap-xxhdpi 144x144, and mipmap-xxxhdpi 192x192. The adaptive icon XML goes in mipmap-anydpi-v26, which has no density suffix.
Why are my xxhdpi or xxxhdpi icons missing from the APK?
The usual causes are icons placed in drawable-* folders instead of mipmap-*, or resource shrinking stripping them from a release build. Confirm with Build → Analyze APK in Android Studio, or run unzip -l app-release.apk | grep mipmap against the release artifact rather than the debug one.
Should launcher icons go in mipmap or drawable?
Always mipmap. Resources in mipmap-* folders are retained when the build system strips other densities during APK splitting, so the launcher can always resolve the right resolution. Icons in drawable-* can be removed from density-split builds.
What size should an Android app icon be for the Google Play Store?
The Google Play Store requires a 512x512 pixel PNG file with 32-bit color and no transparency. This icon is uploaded in the Play Console and is not bundled inside your APK or AAB.
What is an adaptive icon on Android?
An adaptive icon consists of two layers — a foreground and background — each sized at 108x108dp. The Android system composites these layers and applies a device-specific mask shape (circle, squircle, rounded square, and so on), introduced in Android 8.0 Oreo.
What is the safe zone for Android adaptive icons?
The safe zone is the inner 72x72dp of the 108x108dp canvas. Design elements placed outside this area may be clipped depending on the device manufacturer's icon mask shape.
Do I still need ldpi icons in 2026?
Almost certainly not. Android Studio's Image Asset Studio no longer generates ldpi by default, and the platform downscales mdpi for the very few remaining 120dpi devices. Include ldpi (36x36) only if you are explicitly supporting old hardware.
Do I need to create separate icons for every Android screen density?
Yes, if you are shipping legacy bitmap launcher icons — Android uses density buckets from mdpi to xxxhdpi with icons ranging from 48x48 to 192x192 pixels. A generator that exports the full ladder from one master removes the manual step.
How do I add a monochrome icon for Android 13 themed icons?
Add a <monochrome> element inside your adaptive-icon XML pointing to a single-color drawable. The system uses this layer when the user enables themed icons, applying the wallpaper's color scheme to your icon.
Can I use text in my Android app icon?
You can, but it is generally discouraged. Text becomes illegible at small sizes (48x48 mdpi), may not translate across languages, and competes with the app name already displayed below the icon on the home screen.
What file format does Google Play accept for app icons?
Google Play accepts PNG format for the store listing icon. The file must be 512x512 pixels, 32-bit color depth, with no transparency.
How do I test my adaptive icon on different mask shapes?
Android Studio's Image Asset Studio lets you preview your adaptive icon against circle, squircle, rounded square, and square masks. You can also test on physical devices from different manufacturers (Samsung uses circles, Pixel uses squircles) or use emulator profiles.