app-icon-generator
An app icon generator takes a single high-resolution source image (typically 1024Γ1024 PNG or SVG) and outputs every icon size required by iOS, Android, web favicon standards, and PWAs β eliminating the manual resize / export rountine for the dozens of files modern apps require. The ZTools App Icon Generator runs entirely in the browser, generates the standard size sets per platform (iOS: 20β1024px; Android: mdpiβxxxhdpi 48β192px + adaptive icon layers; web: favicon.ico + apple-touch + manifest), and packages all output into a downloadable ZIP.
Use casesβ
New iOS / Android app launchβ
Apple requires ~12 icon sizes; Google requires multiple density buckets + adaptive icon layers. Hand-resizing eats half a day; generator does it in 30 seconds.
Web app / PWA setupβ
PWA needs favicon (16px, 32px), apple-touch (180px), manifest icons (192px, 512px). Generator outputs the set + a manifest.json snippet.
Browser extension iconβ
Chrome / Firefox extensions need 16px, 48px, 128px (Chrome) or 16/32/48/96 (Firefox). Generator handles both browsers from one source.
Brand refreshβ
Updated logo: regenerate the entire icon set in seconds. Push to all platforms simultaneously without re-doing manual resize.
How it worksβ
- Upload source image β SVG (preferred β vector, infinite resize) or 1024Γ1024 PNG (high enough for the largest output). Square aspect ratio required.
- Pick target platforms β iOS, Android, web, PWA, browser extension. Multiple selectable; tool generates all chosen sets.
- Configure adaptive icons (Android) β Android adaptive icons require foreground + background as separate layers. Tool can generate from a single source with auto-padding, or accept separate layers.
- Generate set β Tool resizes the source to each platform's required dimensions. SVG β PNG via Canvas; PNG β smaller PNG via downsampling.
- Download ZIP β All generated PNGs in folder structure matching each platform's expected layout. Drop into your project; reference per platform docs.
Examplesβ
Input: 1024Γ1024 source PNG β iOS + Android + PWA
Output: ZIP with ~30 PNG files; iOS folder, Android folder (per density), PWA folder.
Input: SVG source with adaptive icon layers
Output: Android adaptive icons in foreground + background layers; classic icons fall back for older Android.
Input: Browser-extension only (Chrome)
Output: 16px, 48px, 128px PNGs + manifest.json snippet ready to drop into a WXT or vanilla-MV3 project.
Frequently asked questionsβ
What size source should I use?
SVG = infinite (resize without quality loss). PNG = at least 1024Γ1024 (the largest needed by iOS). Smaller sources upscale poorly.
Why does Android need so many sizes?
Android supports many screen densities (mdpi, hdpi, xhdpi, xxhdpi, xxxhdpi) β each gets its own optimised icon. Plus adaptive icons for modern Android (8.0+) introduce a separate foreground+background layer system.
What about iOS adaptive icons (iOS 18+)?
iOS 18+ supports tinted / dark / clear modes from a single icon. Generator can produce variants; final tinting is iOS-side.
Is the source image uploaded?
No β Canvas processes entirely in the browser. Your icon stays private.
Are favicon.ico files generated?
Yes β favicon.ico bundles 16px + 32px + 48px PNGs into the legacy ICO format for older browser compatibility.
Can I regenerate just one platform later?
Yes β pick only the platform you need; other folders skipped.
Tipsβ
- Always start from SVG when possible. Vector resize beats any pixel-based downsampling.
- Test the smallest size (16px favicon, 24px notification) β many designs work at 1024px but lose detail at 16px. Simplify if needed.
- Use the same icon across platforms when possible β brand consistency. Slight per-platform optimisations only when needed.
- For PWA, manifest icons (192, 512) are the most important β they show on home-screen install.
- Re-run the generator on every branding update; missing size = wrong icon shown on a niche device.
Try it nowβ
The full app-icon-generator runs in your browser at https://ztools.zaions.com/app-icon-generator β no signup, no upload, no data leaves your device.
Last updated: 2026-05-05 Β· Author: Ahsan Mahmood Β· Edit this page on GitHub