Since Android 8, adaptive icons split art into foreground + background layers (plus optional monochrome). OEMs mask them as circles, rounded squares, and more, and may parallax the layers. If the mark sits in the corners, a circular launcher will clip it — that is what the safe zone is for.
This article is the size / safe-zone checklist for design and release. Broader dual-platform specs: iOS / Android icon guidelines. HarmonyOS layered icons: HarmonyOS layered icon guide.
| Concept | Value | Meaning |
|---|---|---|
| Layer canvas | 108 × 108 dp | Full size of each foreground / background layer |
| Safe zone | Centered ~66 × 66 dp | Keep critical art here; outer ring may be masked away |
| Mask inset | ~18 dp per side | Half of (108 − 66), reserved for shaped masks |
Common 4× raster exports:
| Asset | Typical pixels | Notes |
|---|---|---|
| Foreground / background | 432 × 432 px | 108dp × 4 |
| Safe-zone guide | ~264 × 264 px | 66dp × 4 |
| Google Play store icon | 512 × 512 px | Separate: 32-bit PNG, full square; Play adds mask/shadow — do not reuse adaptive layers as-is |
| Layer | Do | Don’t |
|---|---|---|
| Background | Full-bleed color, soft gradient, or simple texture | Brand type in corners; busy photos |
| Foreground | Centered mark inside the 66dp safe zone | Hairlines on the edge; shapes that only read with corners |
| Transparency | Foreground alpha reveals background | Hollow foreground that leaves odd masked holes |
Parallax can shift the foreground slightly — another reason not to hug the edges.
| Use | Spec | Corners |
|---|---|---|
| Launcher adaptive icon | 108dp FG + BG layers | Launcher / system mask |
| Play store listing icon | 512×512, ≤1024KB, sRGB | You ship a square; Play applies mask + shadow |
Classic failure: circular-cropped 512 dropped into the adaptive foreground, or adaptive export with baked round alpha used as the store icon. Screenshot alpha rules are different again — see transparent screenshot rejected.
mipmap-anydpi-v26 adaptive XML via Android Studio Image Asset (or equivalent) and verify foreground / background drawables.Most teams have a single mark but need launcher layers, Play’s 512, and small tray icons:
Have QA install on at least two OEM launchers plus Pixel and paste failed crops back onto the safe-zone guide.
| Symptom | Likely cause | Fix |
|---|---|---|
| Transparent ring on launcher | FG not covering / hollow BG | Full-bleed BG; transparency only around the mark |
| Pale edge outside round mask | Pre-cropped circle used as layer | Re-export orthogonal layers |
| Muddy Play icon | Hand-drawn shadow + Play shadow | Remove baked shadows |
| Adaptive XML ignored | Bad anydpi-v26 wiring | Regenerate via Image Asset and diff |
Prefer vector foregrounds when the mark is simple geometry — they scale cleanly into mipmaps. Use raster when you need soft illustration, but author at 432px (or higher) and keep the safe zone honest. Do not upscale a 192px legacy icon into 432px and hope launchers forgive blur; redraw or export from the vector source.
Android adaptive icons are not “draw a circle once.” They are 108dp layered canvases with a 66dp safe zone, plus a separate 512 Play store icon. Keep the safe zone honest and the two pipelines apart, and launcher masks stop surprising you in review builds.