Journal · Guide · 7 min

Every app icon size for iOS, macOS, Android and Chrome, one cheat sheet

By Ziyarex ·

Every launch, the same twenty minutes: which sizes does this platform want, in which folder, under which filename, and why did the build just fail.

Here's the whole thing in one place. The numbers below are the ones this studio actually ships across nine apps on four platforms, they're what our own icon generator emits, not a list copied from a blog post.

Start with one master

Design at 1024 × 1024, square, no transparency, no rounded corners. Everything else is derived from it.

Two rules that catch people:

  • Don't round the corners yourself. iOS, macOS and Android all apply their own mask. Pre-rounded artwork gets a double-rounded, visibly wrong icon.
  • Don't ship alpha in the store icon. Apple rejects the 1024 App Store icon if it has an alpha channel. Flatten it onto a solid background.

Design it so it survives at 16 px. Most icons that fail do so because they contain a wordmark or a thin line that dissolves below about 48.

iOS / iPadOS

Modern Xcode accepts a single 1024 × 1024 image and generates the rest, which is what you should do for new projects. Since the 2025 design refresh, Apple's Icon Composer takes layered artwork and produces the light, dark and tinted appearances from one source. If you're targeting the current OS, that's the path.

You still need the full set when you're maintaining an older asset catalogue, filling one by hand, or supporting a framework that expects individual files:

PurposeSizes (px)
iPhone notification40, 60
iPhone settings58, 87
iPhone spotlight80, 120
iPhone app120, 180
iPad notification20, 40
iPad settings29, 58
iPad spotlight40, 80
iPad app76, 152
iPad Pro app167
App Store1024

The App Store icon is the one that gets rejected. Opaque, 1024, no rounding.

macOS

macOS wants an .icns built from an .iconset folder, and the filenames are load-bearing, iconutil will refuse the folder if they're wrong.

icon_16x16.png          16
icon_16x16@2x.png       32
icon_32x32.png          32
icon_32x32@2x.png       64
icon_128x128.png       128
icon_128x128@2x.png    256
icon_256x256.png       256
icon_256x256@2x.png    512
icon_512x512.png       512
icon_512x512@2x.png   1024

Then:

iconutil -c icns MyApp.iconset

Note the deliberate duplication: 32, 256 and 512 each appear twice under different names. That's not a mistake in the list, the same pixel size serves two point sizes.

Mac icons traditionally sit inset within the canvas rather than filling it edge to edge, which is why a straight iOS export often looks oversized in the Dock.

watchOS

Round mask, and the sizes are their own set: 48, 55, 58, 80, 87, 88, 100, 172, 196, 216, plus 1024 for the store. Since the icon is circular, anything important needs to be well inside the inscribed circle.

Android

Two separate problems: the launcher icon, and the store listing.

Launcher: adaptive icons. Android composites a foreground and a background layer and masks the result to whatever shape the launcher wants. Both layers are 108 dp; only the centre 72 dp is guaranteed visible, and the outer ring gets cropped or used for parallax.

DensityLegacy launcher (px)Adaptive layer (px)
mdpi48108
hdpi72162
xhdpi96216
xxhdpi144324
xxxhdpi192432

The single most common Android icon mistake is designing the foreground to fill the 108 dp square. It won't, a circular launcher mask will eat the corners, and your logo will be cropped on a lot of devices. Keep the mark inside the middle two-thirds.

Play Store listing: a 512 × 512 32-bit PNG with alpha. Separately, the feature graphic is 1024 × 500 and must have no transparency, that one is a real rejection reason.

Chrome extensions

Small list, declared in manifest.json:

16   toolbar / favicon
32   Windows, some contexts
48   extensions management page
128  installation and the Chrome Web Store

The 128 is the one people see. The 16 is the one that has to survive being 16 pixels.

Web

  • favicon.ico containing 16 and 32
  • 180 × 180 apple-touch-icon.png
  • 192 and 512 PNGs for the web app manifest
  • an SVG if you have one, for the browsers that take it

The rules that actually cause failures

  1. Alpha in the iOS App Store icon → rejected at upload.
  2. Transparency in the Play feature graphic → rejected in review.
  3. Pre-rounded corners → accepted, and looks wrong forever.
  4. Android foreground artwork outside the 72 dp safe zone → cropped on round-mask launchers.
  5. Wrong `.iconset` filenamesiconutil fails with an unhelpful error.
  6. A detailed icon → fine at 1024, mush at 16.

Doing it in one step

Our app icon generator takes a single image and writes every file above, in the right folder structure, with Contents.json for Xcode and the mipmap directories and adaptive-icon XML for Android. It runs in your browser, the image isn't uploaded anywhere, and hands back a zip.

The alternative is doing it by hand once per launch, forever, which is exactly why the tool exists.