Free tool

APK Icon Maker

One logo in, a ZIP of every launcher icon out: 48 to 192 px legacy icons, a 432 px adaptive foreground that respects the safe zone, and the 512 px store icon — with a live preview under the three masks Android launchers actually use.

Make the icon set

Drawn with the Canvas API on your device. The logo is never uploaded.

Drop your logo here PNG, JPG, WebP or SVG — 1024×1024 is ideal
Fills behind the logo. The store icon must be opaque.
Preview under launcher masks
Pixel, Samsung and stock launchers each mask the adaptive icon differently; the logo must sit inside the inner circle to survive all of them.
Add a logo to start.

What Android actually asks for

An Android launcher icon is not one image. Since Android 8 it is an adaptive icon: a 108 dp foreground layer and a 108 dp background layer, which the launcher composites and then crops with its own mask — a circle on Pixel, a squircle on Samsung, a rounded square elsewhere. Only the central 66 dp is guaranteed visible, so a logo that fills the canvas gets its corners cut off on some phones. Older launchers and Android 7 use a plain legacy icon, drawn at five densities from 48 px (mdpi) to 192 px (xxxhdpi). And the Play Console wants a separate 512 × 512 opaque PNG for the store listing, with no transparency and no rounded corners of its own.

This tool draws all of those from one image, respects the safe zone, and shows you the result under each mask before you download.

What is in the ZIP

FileSizesUsed for
mipmap-*/ic_launcher.png48 · 72 · 96 · 144 · 192Legacy launcher icon
mipmap-*/ic_launcher_round.pngsameRound legacy icon (some Android 7 launchers)
mipmap-*/ic_launcher_foreground.png108 · 162 · 216 · 324 · 432Adaptive foreground, logo inside the safe zone
mipmap-*/ic_launcher_background.pngsameAdaptive background (your colour)
mipmap-anydpi-v26/ic_launcher.xml—Tells Android to use the adaptive layers
play-store-icon-512.png512Play Console store icon
icon-1024.png1024The one to upload to the builder

If you use the builder, you need one file

The Zip to APK builder takes a single square image and generates the whole set for you during the build. The reason to run this tool first is to see the result — the padding, the background colour, how the logo survives the circle mask — and to get the 1024 px version with the background already applied. Upload icon-1024.png and the app's icon will match what you previewed here.

Designing an icon that survives every mask

For Android 12's splash screen — which shows the launcher icon inside a circle while the app starts — the same safe-zone rule applies; the Splash Screen Maker previews it.

Frequently asked questions

What size should the source image be?

1024 × 1024 or larger, square, PNG or SVG. Every output is downscaled from it; a small source upscaled to 512 px will look soft on the Play Store listing.

Is the logo uploaded?

No. Every size is drawn on your device with the Canvas API and the ZIP is assembled in memory. Nothing leaves the browser.

Do I need the ZIP if I use the Zip to APK builder?

No — the builder generates the set from one image. Use this tool for the preview and for the 1024 px file with your background colour applied, then upload that.

Why does my logo look cut off in the circle preview?

Because it extends past the 66 dp safe zone. Increase the padding, or leave the safe-zone setting on Standard. What you see in the circle thumbnail is exactly what a Pixel launcher will show.

Can the background be transparent?

For the legacy icons, yes — tick Keep transparent. The adaptive background and the 512 px Play Store icon are always opaque, because Android and the Play Console require it; white is used when you choose transparent.

Read next

Related tools

Ready to turn your ZIP into an APK?

Upload the ZIP of your HTML project, pick a name and an icon, and download a signed Android APK. Free, in the browser, no Android Studio.

Convert ZIP to APK