🤖 Android Icon Guide

How to Resize Images for Android App Icons
(Every Required Size Explained)

📅 February 28, 2026 ⏱ 6 min read ✍️ DenaliKit Team

Android app icons are more complex than iOS — not because there are more sizes, but because Android introduced adaptive icons in Android 8.0 that require separate foreground and background layers. This guide covers legacy sizes, adaptive icon specs, Google Play requirements, and the fastest way to generate every variant from a single source image.

Legacy Icons vs Adaptive Icons — What's the Difference?

Before Android 8.0 (Oreo), app icons were simple: a square PNG at a fixed pixel size per screen density. Every launcher displayed it the same way.

Starting with Android 8.0, Google introduced adaptive icons — a system where your icon is split into two separate 108×108dp layers: a foreground (your logo or artwork) and a background (a solid color, gradient, or pattern). The Android system then applies its own mask shape — circle, squircle, rounded square, teardrop — depending on the device manufacturer and launcher.

The practical result is that your icon automatically adapts to look native on every Android device, without you needing to export a different shape for each one.

How Adaptive Icons Work

🌿
Background
Layer
+
🏔️
Foreground
Layer
=
🏔️
System
Masked
ℹ️
Do you still need legacy icons? Yes — if your app supports Android 7.1 or earlier, you need to include legacy PNG icons. Google Play's minimum SDK requirement is currently Android 5.0 (API 21), so most apps still need both formats.

Legacy Icon Sizes (All Screen Densities)

Android uses density qualifiers — mdpi, hdpi, xhdpi, xxhdpi, xxxhdpi — to determine which asset to load on a given device. Each density is a multiplier of the baseline 48×48dp size:

Density Size (px) Scale Typical Device Status
mdpi48 × 48Low-density phonesRequired
hdpi72 × 721.5×Mid-range phonesRequired
xhdpi96 × 96Standard phonesRequired
xxhdpi144 × 144High-end phonesRequired
xxxhdpi192 × 192Flagship phonesRequired
Google Play Store512 × 512Play Store listingRequired

Adaptive Icon Sizes

For adaptive icons, both the foreground and background layers must be 108×108dp at each density. The outer 18dp on each side is the "safe zone" bleed area — content inside this margin may be cropped depending on the device mask shape.

Density Full Size (px) Safe Zone (px) Layer Status
mdpi108 × 10872 × 72fg + bgAdaptive
hdpi162 × 162108 × 108fg + bgAdaptive
xhdpi216 × 216144 × 144fg + bgAdaptive
xxhdpi324 × 324216 × 216fg + bgAdaptive
xxxhdpi432 × 432288 × 288fg + bgAdaptive
⚠️
The safe zone rule is critical. Any part of your foreground artwork that extends beyond the inner 72dp (at mdpi) safe zone may be clipped. Keep your logo, text, and important visual elements inside the safe zone. The background layer can extend to the full 108dp bleed area.

Google Play Store Requirements

The Google Play listing icon is separate from the in-app icons and has its own strict requirements:

Google Play also uses this 512×512 image as the source for feature graphics and promotional banners in some contexts, so it's worth investing extra care into this size specifically.

Common Mistakes That Cause Problems

These are the most frequent Android icon issues reported by developers submitting to Google Play:

Android vs iOS Icon Requirements: Key Differences

🍎 iOS Icons

  • Single flat PNG per size
  • Apple applies corner rounding
  • No transparency allowed
  • 13 required sizes
  • No layered format
  • Single source file approach (Xcode 15+)

🤖 Android Icons

  • Legacy PNGs per density + adaptive layers
  • System applies shape mask at runtime
  • No transparency on Play Store icon
  • 6 legacy sizes + 5 adaptive sizes
  • Foreground + background layers for adaptive
  • VectorDrawable support for foreground

Step-by-Step: Generate All Android Icons with DenaliKit

DenaliKit's Android Icons preset handles both legacy and adaptive sizes in one pass. Here's the full workflow:

1

Prepare your source image

Start with a square PNG at 1024×1024px or larger. For adaptive icons, design your foreground artwork with the safe zone in mind — keep important content within the central 66% of the canvas.

2

Open DenaliKit Image Resizer

Go to denalikit.com/app/image-resizer.html. The Android Icons preset requires a small one-time Premium upgrade — no subscription, no recurring charges.

3

Drop your source image

Drag your PNG into the upload area. For adaptive icons, upload your foreground layer first, then your background layer in a second pass.

4

Select the Android Icons preset

Choose the Android App Icons preset. This generates all 5 legacy density sizes (mdpi through xxxhdpi) plus the 512×512 Google Play icon, correctly named for Android Studio.

5

Download and import into Android Studio

Download the ZIP. Each file is named with the correct density suffix (e.g. ic_launcher_mdpi.png). Drag them into your res/mipmap-*/ directories in Android Studio.

🔒
Privacy first: DenaliKit processes everything locally in your browser. Your artwork, your unreleased app branding, your foreground and background layers — none of it is ever uploaded to a server or stored anywhere.

Generate All Android Icon Sizes Now

Legacy densities + Google Play icon. Instant, private, one-time fee.

🤖 Open Image Resizer →

Importing Icons into Android Studio

Android Studio has two ways to manage launcher icons — manual file placement and the built-in Image Asset Studio.

Manual file placement

If you've exported the full icon set from DenaliKit, place each file in the corresponding res/mipmap-* directory:

Using Image Asset Studio

For adaptive icons, Android Studio's built-in Image Asset Studio is the recommended approach. Right-click on resNew → Image Asset. Select Launcher Icons (Adaptive and Legacy), then provide your foreground and background layers separately. Studio generates all density variants and the ic_launcher.xml adaptive icon descriptor automatically.

💡
Use Image Asset Studio for adaptive icons. Manually creating the ic_launcher.xml vector descriptor and ensuring correct layer alignment across densities is error-prone. Image Asset Studio handles all of it automatically when you provide the two source layers.

Design Tips for Android Icons That Stand Out

The Google Play Store is crowded. These principles separate high-performing app icons from forgettable ones:

Frequently Asked Questions

Do I need both legacy and adaptive icons?

If your minSdkVersion is 26 or higher, adaptive icons alone are sufficient. For most apps targeting Android 5.0+ (minSdk 21), you need both — adaptive icons for Android 8.0+ devices and legacy PNGs for older devices. Android Studio's Image Asset Studio handles this automatically.

Can I use the same artwork for Android and iOS?

You can use the same source image, but the icon shapes differ. iOS uses a fixed rounded rectangle; Android applies various shapes at runtime. Design your artwork to work at both a circle (Android) and a rounded square (iOS) before exporting. DenaliKit has separate presets for iOS and Android.

What's the difference between ic_launcher and ic_launcher_round?

ic_launcher is the standard launcher icon. ic_launcher_round is an optional round variant for devices that request a circular icon rather than applying a system mask. If you don't provide ic_launcher_round, Android falls back to ic_launcher. It's good practice to provide both.

Does the Play Store icon need to match the app icon exactly?

Not exactly, but it should be recognisably the same. Some developers use a slightly simplified or higher-contrast version of the icon for the Play Store listing, since it's viewed at a larger size with more visual context. Keep the overall color scheme and key visual element consistent.

What is the DenaliKit one-time fee for Android icons?

The Android Icons preset is part of DenaliKit Premium — a single one-time payment, not a subscription. Premium also includes iOS icons, favicon sets, email header presets, and all other premium image presets. See full pricing →