Android Adaptive Icon Guidelines: Size, Safe Zone and Themed Icons
Android adaptive icon guidelines: 108 dp layers, the 72 dp visible area and 66 dp safe zone, monochrome themed icons, mipmap densities and the XML setup.
ScreenShipper team · · 7 min read
Quick answer: An Android adaptive icon has two 108 × 108 dp layers, a foreground and a background, which the launcher masks into a circle, squircle or rounded square. Only the central 72 dp is visible, and anything important belongs inside the 66 dp safe zone. Add a monochrome layer so launchers can show a themed icon, and define everything in res/mipmap-anydpi-v26/ic_launcher.xml.
How Android Adaptive Icons Work
Before adaptive icons, every Android device maker used its own icon shape, and apps shipped a single flat image that often looked out of place. Adaptive icons, introduced in Android 8.0 (API level 26), split the icon into layers so each device can apply its own mask while your artwork stays consistent.
The system works like this:
- Two layers. A background layer (usually a solid color, gradient or simple pattern) and a foreground layer (your logo or symbol).
- A device-defined mask. The launcher crops both layers to its shape: a circle on some phones, a rounded square or squircle on others.
- Motion effects. Supported launchers use the extra margin around the visible area for effects such as parallax or pulsing when people touch or drag the icon.
- Vectors preferred. Layers can be vector drawables or bitmaps, but Google recommends vectors because one file scales to every screen density.
Google also asks for clean edges, and no masks or background shadows around the outline of the icon. The launcher handles the shape, so anything you bake in will fight with it.
Adaptive Icon Size and Safe Zone
These numbers come straight from Google's adaptive icon documentation:
| Zone | Size | What belongs there |
|---|---|---|
| Full layer | 108 × 108 dp | Background art that bleeds to every edge |
| Reserved margin | 18 dp on each side | Space for masking and motion effects, never essential content |
| Visible viewport | 72 × 72 dp | The area a user can see once the mask is applied |
| Safe zone | 66 × 66 dp | Your logo; no launcher mask will clip it |
| Minimum logo size | 48 × 48 dp | Keep the symbol at least this large to stay legible |
In pixels, the same zones scale with screen density:
| Density | Full layer | Visible area | Safe zone |
|---|---|---|---|
| mdpi (1x) | 108 px | 72 px | 66 px |
| hdpi (1.5x) | 162 px | 108 px | 99 px |
| xhdpi (2x) | 216 px | 144 px | 132 px |
| xxhdpi (3x) | 324 px | 216 px | 198 px |
| xxxhdpi (4x) | 432 px | 288 px | 264 px |
Tip: Design on a 432 × 432 px canvas, the xxxhdpi size, with guides for the 288 px visible square and a 264 px safe circle in the center. If your symbol fits the circle, it survives every mask shape.
For how these sizes relate to iOS and the Play Store icon, see the App Icon Size Guide for iOS and Android.
Themed Icons and the Monochrome Layer
Starting with Android 13 (API level 33), people can turn on themed app icons. When they do, and their launcher supports it, the system tints the monochrome layer of each adaptive icon using colors from the person's wallpaper and theme. Apps without a monochrome layer simply keep their full-color icon on many devices, which makes them stand out in the wrong way on an otherwise uniform Home Screen. Google's documentation also notes that newer Android versions can theme icons automatically for apps that do not provide their own, so supplying a monochrome layer is how you keep control over the result.
How to design the monochrome layer:
- Use one flat color on a transparent background. The system replaces the color, so only the shape matters.
- Keep it the same size as your other layers, 108 × 108 dp, and respect the same 66 dp safe zone.
- Simplify. Gradients, fine detail and overlapping colors disappear when everything becomes one tint. Use cut-outs and negative space instead.
- Reuse when you can. If your foreground is already a single-color shape, Google's own example points the monochrome layer at the same drawable as the foreground.
How to Add an Adaptive Icon to Your Project
- Create the layer drawables. Put vector drawables such as
ic_launcher_foreground.xmlandic_launcher_background.xmlinres/drawable, or provide PNG layers for each density. - Define the icon. Create
res/mipmap-anydpi-v26/ic_launcher.xmlwith an<adaptive-icon>element containing<background>,<foreground>and<monochrome>, each pointing to a drawable. - Add a round version if you need it. The optional
android:roundIconattribute lets launchers that use circular icons pick a version designed for a circle. - Reference it in the manifest with
android:icon="@mipmap/ic_launcher"on the application element. - Keep legacy icons for old devices. If your minimum SDK is below 26, include 48 dp PNG icons in the
mipmap-mdpithroughmipmap-xxxhdpifolders. - Preview every shape. Android Studio's image asset tooling can generate the files and preview circle, squircle and rounded-square masks before you build. If you prefer to start from one image in the browser, the free app icon generator outputs the adaptive and themed icon files too.
Launcher icons live in mipmap folders rather than drawable folders so they are kept for every density, since a launcher may display an icon at a higher resolution than the device's own density.
Adaptive Icon vs. the Google Play Store Icon
The adaptive icon is what people see on their Home Screen after installing. Your Google Play listing uses a different asset, uploaded in Play Console:
| Adaptive launcher icon | Google Play listing icon | |
|---|---|---|
| Where it lives | Inside your app (mipmap resources) | Uploaded in Play Console |
| Size | 108 × 108 dp layers | 512 × 512 px |
| Format | Vector drawables or PNG layers | 32-bit PNG, sRGB, up to 1,024 KB |
| Shape | Masked by the launcher | Full square; Play rounds the corners and adds the shadow |
| Theming | Monochrome layer | Not applicable |
Use the same design for both so people recognize your app after installing. More rules for the listing icon, including the ban on ranking or deal badges, are in Google Play Icon Requirements. If you also ship on iOS, compare with the iOS App Icon Requirements.
Common Adaptive Icon Mistakes
- A logo that fills the whole layer. Anything outside the 72 dp viewport is cropped, and anything outside the 66 dp safe zone may be clipped by a circular mask.
- Baked-in shadows or rounded corners. They clash with the launcher's mask and motion effects.
- A partly transparent background layer. Give the background a solid color or full-bleed artwork so the icon looks complete under every mask.
- No monochrome layer. Your icon may look out of place when themed icons are turned on.
- Text in the icon. Small type becomes unreadable once the icon is masked and scaled. See App Icon Design Tips.
- Testing on one phone only. Check at least a circle and a rounded-square launcher before release.
Frequently Asked Questions
What size is an Android adaptive icon?
Each layer is 108 × 108 dp, which is 432 × 432 px at xxxhdpi. Only the central 72 × 72 dp is visible after masking.
What is the safe zone for Android adaptive icons?
The central 66 × 66 dp of the 108 dp layer. Google describes it as the area that is never clipped by a device maker's mask, so your logo should sit inside it and be at least 48 dp.
Do I need a monochrome layer for my Android icon?
It is optional but recommended. Without it, your icon cannot be themed in your own way on Android 13 and later, and it may look inconsistent next to themed icons.
Can I use PNG files instead of vector drawables?
Yes. Both layers can be bitmaps, but you then need a version for each density. Vector drawables are preferred because one file scales cleanly to every screen.
Do adaptive icons work on Android 7.1 and older?
No. Adaptive icons need Android 8.0 or later. For older devices, include standard 48 dp PNG launcher icons in each mipmap density folder.
Sources
Generate every app icon size for free
Upload one image and download an Xcode AppIcon set, Android adaptive and themed icons and the 512 px Play icon in one zip.