Free · No signup · No upload
App Icon Generator
Drop in one 1024×1024 image and get every icon size iOS, iPadOS, Android, macOS,
watchOS and the web require — with a ready-to-drag Contents.json and
adaptive-icon XML.
Everything runs in your browser. Your image is never sent to a server.
Generate icons
Upload your icon
PNG, JPEG, WebP or SVG. 1024×1024 recommended.
Drag & drop your image here
or browse files
Pick your platforms
Select everything you need — shared sizes are rendered once.
Options
Folder structure and how transparency is handled.
Preview
Every size, spelled out
Exact pixel dimensions produced for each platform. Sizes shared between platforms are rendered once and reused.
FAQ
Is my image uploaded anywhere?
No. Decoding, resizing and zipping all happen in your browser using Canvas and a Web Worker. Open DevTools → Network and you will see no requests after the page loads.
What source image should I use?
A square 1024×1024 PNG with no rounded corners baked in. iOS and Android apply their own masks — pre-rounding gives you a double-rounded icon. Non-square images are letterboxed rather than stretched.
Does the generated Contents.json work in Xcode?
Yes. Drag the AppIcon.appiconset folder into your asset catalog, or
drop the whole Assets.xcassets in. iPhone and iPad entries are merged
into a single set, exactly as Xcode's own template does.
What is the difference between Android and Android Adaptive?
Android emits the legacy raster ic_launcher.png and
ic_launcher_round.png for API 25 and below.
Android Adaptive emits the API 26+ two-layer format: a 108dp
foreground with your artwork inset into the 72dp safe zone, a 108dp background, and
the mipmap-anydpi-v26 XML that binds them. Ship both.
What is the difference between App Icon and Image Sets?
App Icon makes the launcher icon: square, fixed pixel sizes, one
per platform slot. Image Sets makes ordinary in-app assets —
buttons, illustrations, logos — which keep their own aspect ratio and ship as
1x/2x/3x for iOS and drawable-*dpi for Android.
Why does my small icon look soft?
Downscaling 1024px to 40px is done with repeated halving rather than a single
drawImage, which avoids the aliasing a naive bilinear resample
produces. But detail that is 4px wide at 1024 cannot survive at 40. Design your icon
so it reads at 40×40.
Click or drag largest image(s) to this area
Image sets Generator
Select your design base size
Drag or select the largest image(s) to generate different sizes for all platforms