Android

One source image → density PNGs. This is not Image Asset Studio.

Drop a square PNG. We canvas-resize it to the Android preset (48, 72, 96, 144, 192, 512) and/or common iOS sizes through 1024. You still place files into mipmap-* yourself. We do not emit Adaptive Icon XML or a Play store listing graphic.

Drop source image here or click to browse — PNG, JPG, WEBP, SVG
No image selected
Upload a source image to begin.

When to use this — and when not to

Use it when you have one square master (1024×1024 or larger) and need a ZIP of raster sizes to drop into res/mipmap-mdpi through xxxhdpi, or into an iOS asset catalog by hand.

Do not use it as a replacement for Android Studio’s Image Asset Studio if you need Adaptive Icons: foreground + background layers, ic_launcher.xml, and the 66% safe zone. We do not write XML. We do not produce a Play feature graphic, notification icons, or density-named folders inside the ZIP.

What the generator actually does

The image never leaves the tab. drawImage on a canvas applies contain or cover, a padding percent, a solid background, and optional corner clip. Android preset sizes in code: 48, 72, 96, 144, 192, 512. iOS preset: 20 through 1024 including 180 and 1024. JSZip packs the selected rows. That is the whole pipeline.

Contain keeps the full mark visible (letterbox with your background). Cover fills the square and will crop. Padding of ~10% is a cheap stand-in for the adaptive safe zone — it is not a maskable asset and not a layer-list.

Worked example

Source: 1024×1024 PNG of a simple mark, no tiny type. Preset Android only. Fit contain. Padding 10%. Background #FFFFFF. Radius 0. Generate, select all six, download ZIP. Then:

48  → res/mipmap-mdpi/ic_launcher.png
72  → res/mipmap-hdpi/ic_launcher.png
96  → res/mipmap-xhdpi/ic_launcher.png
144 → res/mipmap-xxhdpi/ic_launcher.png
192 → res/mipmap-xxxhdpi/ic_launcher.png
512 → Play listing / leftover (not a mipmap density)

For Adaptive Icons you still need a foreground that lives inside the safe zone and a separate background. Write-up: Adaptive icons: the safe zone from one PNG.

Mistakes people make

  • Uploading a 256px source and expecting a sharp 512 — we upscale; it will look soft.
  • Cover + a wordmark: the letters clip on circular OEM masks even if the square preview looks fine.
  • Treating corner radius as a production Adaptive Icon. Launchers apply their own mask.
  • Putting the 512 file in mipmap-xxxhdpi. That density is 192, not 512.

Related

Adaptive icon safe zone · PWA manifest (icon paths only) · Android hub

Frequently asked questions

Does this create mipmap folders?

No. Flat PNGs in a ZIP. You name and place them.

Does this write Adaptive Icon XML?

No. Raster sizes only. Use Image Asset Studio or hand-write mipmap-anydpi-v26/ic_launcher.xml.

Is the image uploaded?

No. Canvas + JSZip in this tab.

SVG as source?

Supported browsers can rasterize it. If strokes look wrong, export PNG first.