Generate iOS and Android app icons from one image

Drop a 1024 × 1024 image here

or click to choose — a logo on a transparent background gives the best Android icons

Drop in a 1024 × 1024 image and this app icon generator produces the complete iOS AppIcon.appiconset and an Android res folder ready to merge: adaptive icon layers with the mipmap-anydpi-v26 XML, a monochrome layer for themed icons, and round and square icons for older devices. Everything is produced in your browser — the image is never uploaded.

The two rules that get apps rejected

Generating the sizes is the easy part. The two things that actually cost people a submission are both invisible until the upload fails.

iOS icons cannot contain transparency. App Store validation rejects any icon with an alpha channel, and the error arrives after you have built, archived and uploaded — not while you are designing. A logo exported as a PNG with a transparent background will sail through every other step and then stop you at the last one. This tool detects transparency in your source, tells you, and flattens the iOS icons onto a background colour you choose.

Flattening alone is not enough. A browser saves a PNG with an alpha channel even when every pixel is solid, and the check looks for the channel, not for see-through pixels. We tested this on 1 October 2026: our own flattened icons came out of Chrome as RGBA files, all 18 of them, with zero transparent pixels. The iOS icons are now written as 24-bit PNGs with no alpha channel at all; the Android files keep theirs, because adaptive icon layers need it.

Do not round the corners yourself. iOS applies its own rounded-rectangle mask to whatever you supply. Round your artwork first and the mask is applied on top of your rounding, producing an icon with thin pale corners that looks subtly wrong next to everything else on the home screen. Supply a full square.

What each platform needs

TargetGoes whereNotes
iOS Assets.xcassets/AppIcon.appiconset Includes Contents.json; no alpha; square corners
Android 8 and later res/mipmap-anydpi-v26/ic_launcher.xml Adaptive icon: foreground layer, background colour, optional monochrome layer
Android 7 and older res/mipmap-*/ic_launcher.png Square and round icons in five densities, mdpi through xxxhdpi
Play Store Play Console listing 512 × 512, uploaded separately from the app

Full set or a single 1024?

Xcode 14 and later accept a single 1024 × 1024 icon and generate every other size at build time. If you are on a current toolchain, that is one file instead of eighteen and there is no downside.

The full set still matters in three cases: projects on an older Xcode, teams pinned to a specific toolchain in CI, and anyone who wants control over how the small sizes are downscaled rather than accepting Xcode's result. Downscaling a detailed icon to 40 pixels is exactly the kind of operation where the algorithm shows, so if your mark has fine elements it is worth generating the sizes deliberately and looking at them.

Android: adaptive and themed icons in short

The Android half of the ZIP is a complete adaptive icon: a foreground and a background layer, each 108 × 108 dp, of which launchers show only the middle 72 dp and guarantee only a central 66 dp circle. That is why a logo that fills its image edge to edge comes out cut off on Android but looks right on iOS. The size slider here works in dp and says when the logo leaves the safe zone, and the circle, squircle and rounded-square previews show the result. A monochrome layer for themed icons on Android 13 and later is included too.

Making icons for an Android app only? The Android app icon generator opens with iOS switched off, explains every file in the Android ZIP, why themed icons often come out as a plain circle, and how to get the size right in dp.

Start at 1024

Every size here is produced by scaling down, so the source sets the ceiling. Supply 1024 × 1024 and everything below it is a clean reduction. Supply 512 and the App Store icon has to be enlarged — which is the single place reviewers and customers see it largest, and the one place softness is obvious.

If your artwork is vector, export it at 1024 rather than scaling up a smaller PNG. If it is not square, the fit options let you pad it with your background colour or crop to the centre, but a purpose-made square nearly always looks better than either.

Installing the result

The ZIP mirrors the folder structure each platform expects. AppIcon.appiconset is a complete asset catalogue entry — drag it into Assets.xcassets and replace the existing one.

The android/res folder maps directly onto app/src/main/res: copy it in and let it merge with the folders already there. It holds the adaptive icon definition in mipmap-anydpi-v26, the foreground and monochrome layers plus the square and round icons in every mipmap-* density, and the background colour in values/ic_launcher_background.xml. The <application> element in your manifest should point at @mipmap/ic_launcher, and optionally at @mipmap/ic_launcher_round for launchers that use round icons — new projects already do both.

Projects created from a recent Android Studio template may also contain res/mipmap-anydpi/ic_launcher.xml; delete it so the project has a single icon definition. play-store-512.png is not part of the app: upload it in Play Console as the store listing icon. A README repeats all of this next to the files.

All of it is generated in your browser. The image is never uploaded, there is no account, and the ZIP is assembled on your own device.

Frequently asked questions

Why does my app icon get rejected for having an alpha channel?

Apple does not allow transparency in App Store icons - an icon with an alpha channel fails validation on upload. This tool detects transparency in your source and flattens it onto the background colour you choose for the iOS set, so what you get is always safe to submit. Android has no such restriction.

Should I round the corners myself?

No. iOS applies its own rounded-rectangle mask, and rounding your source first produces a double-rounded icon with pale corners. Supply a full square and let the platform mask it. Android is the opposite case - adaptive icons crop your artwork to whatever shape the launcher uses, so keep important detail away from the edges.

Does modern Xcode still need every size?

Not strictly. Xcode 14 and later accept a single 1024 by 1024 icon and generate the rest at build time. The full set still matters for older projects, for teams pinned to an older toolchain, and for anyone who wants the exact downscaled result rather than Xcode's. Both options are offered.

What is the safe zone in an Android adaptive icon?

An adaptive icon layer is 108 by 108 dp, but launchers only show the central 72 by 72 through their mask, and only a centred 66 dp circle survives every mask shape. Android's guidance is a logo between 48 and 66 dp. The size slider in this tool works in dp and tells you which zone your logo falls in.

What is the monochrome layer in an Android icon?

It powers themed icons on Android 13 and later. When a user turns themed icons on, the launcher ignores the colours in this layer, uses only its transparency and paints the shape in tones taken from the wallpaper. Because only the outline counts, a badge-style logo with a white letter inside a coloured circle becomes a plain disc; this tool can draw the layer from the light or dark parts of the logo instead. Phones with themed icons off show your normal coloured icon.

Do I need ic_launcher_round?

It is optional. The manifest's android:roundIcon attribute is only read by launchers that show round icons, and on Android 8 and later it points at the same adaptive icon as ic_launcher. It costs nothing to include, so the ZIP contains it.

Why does my Android icon look zoomed in or cut off?

Usually because the logo was sized for the whole 108 dp layer. Launchers only show the middle 72 dp, so artwork placed edge to edge on the layer loses its outer third. Size the logo in dp instead: up to 66 dp is safe on every launcher shape, and 72 dp fills the visible area exactly.

How large should the source image be?

1024 by 1024 pixels and square. Every other size is produced by scaling down, so anything smaller than 1024 means the App Store icon has to be enlarged, which looks soft exactly where reviewers see it first. Transparency is fine: iOS icons are flattened onto your background colour, and Android uses it for the adaptive and themed layers.

Where do the files go in my project?

The iOS folder is a complete AppIcon.appiconset - drop it into Assets.xcassets, replacing the existing one. The android/res folder mirrors your project: merge it into app/src/main/res. It contains the mipmap-anydpi-v26 XML, the adaptive layers, the round and square icons and the background colour. The included README repeats this next to the files.