iOS App Store Icon Generator (2026): 1024×1024 + Sizes
iOS app store icon generator that builds the 1024×1024 master plus every iPhone, iPad, Spotlight, and Settings size from one PNG — no upload.
iOS App Store Icon Generator: 1024×1024 + Every Required Size
Submit your iOS app today and the only icon Apple strictly demands is one 1024×1024 PNG. But the same icon still needs to render crisp at 16 different surface sizes across iPhone, iPad, Spotlight, Settings, and notifications — and Xcode's auto-fill stops at iOS 15. iKit's iOS app store icon generator emits all 16 PNGs plus the matching Contents.json from a single source, in the browser, in about 30 seconds.
TL;DR
- iOS App Store icon = one 1024×1024 sRGB PNG, no alpha, square, no rounding.
- iOS 15+ generates smaller sizes at build time; older targets need 16 PNGs.
- App Store Connect rejects RGBA, sub-1024 sources, and pre-rounded corners.
- Browser-only generators emit every size + a valid asset catalog folder.
- Reuse the same 1024 master for the Apple Touch Icon and PWA manifest.
The 1024×1024 master — what App Store Connect actually checks
One source, every surface
Since Xcode 13 (2021), a single 1024×1024 PNG is enough to populate every iOS icon slot. App Store Connect ingests it as the marketing icon for the App Store listing — the one you see in search results, the Today tab, and the product page hero. Xcode's asset catalog pipeline then derives every smaller icon at archive time, downsampling with the Lanczos filter and stripping alpha to satisfy submission rules. The 1024×1024 isn't optional; it's the only icon size Apple's App Store Review Guidelines explicitly require.
The submission rules that fail builds
App Store Connect runs three automated checks before your icon ever reaches a human reviewer:
- Square 1:1 aspect ratio — even one pixel of letterboxing fails.
- No alpha channel — RGBA PNGs are rejected with code
ITMS-90717. - sRGB color profile — Display P3 sources sometimes pass, but legacy validators choke; sRGB is the safe default.
The most common rejection in practice is the alpha channel one. Most design tools default to RGBA on PNG export, and the rejection email arrives 30 minutes after upload — long after you've context-switched away.
Why pre-rounded sources break
Designers used to producing iOS UI mocks instinctively round the corners of their app icon. Don't. iOS applies its own squircle mask at every render — the home screen, Spotlight, the share sheet, the App Store tile. If your source already has rounded corners, Apple's mask carves through pixels you've already anti-aliased, leaving visible "bitten" corners on Retina displays. Always submit a perfectly square image and let iOS round at render time.
Every iPhone, iPad, and Mac icon size your app actually needs
The complete iOS icon size table
| Size (px) | Where it shows |
|---|---|
| 20×20 | Settings (1x scale, legacy) |
| 29×29 | Settings (1x scale) / Spotlight (1x) |
| 40×40 | Spotlight (1x) / Settings (2x) |
| 58×58 | Settings (2x scale) |
| 60×60 | Spotlight (3x) / iPhone Settings (3x) |
| 76×76 | iPad home screen (1x) |
| 80×80 | Spotlight (2x) |
| 87×87 | Settings (3x) |
| 120×120 | iPhone home screen (2x) |
| 152×152 | iPad home screen (2x) |
| 167×167 | iPad Pro home screen |
| 180×180 | iPhone home screen (3x) |
| 1024×1024 | App Store marketing icon |
The 167, 180, and 1024 are non-negotiable for any modern build. The others matter only if your minimum deployment target is iOS 14 or earlier — which is rare in 2026 but still common for enterprise apps and certain regulated verticals (banking, healthcare, government).
iPad multitasking and the 167×167
The iPad Pro reports a 3x logical density on its 167×167 home-screen tile (versus the standard iPad's 2x at 152×152). If you ship the 152 but skip the 167, iOS Pro upsamples — and the difference is visible to anyone with reasonable eyesight. Always include both.
Mac Catalyst and watchOS
Mac Catalyst apps use the iPad icon set plus a separate macOS set (16, 32, 64, 128, 256, 512, 1024 — square, with corners that macOS does not round). watchOS uses its own family (48, 55, 58, 80, 87, 88, 100, 172, 196, 216, 1024). Both ship in the same Assets.xcassets folder under separate icon-set entries. iKit's generator emits both alongside the iOS set when you tick the Mac and Watch boxes.
Building a 1024×1024 source PNG that survives every downsample
Resolution and headroom
Start from a vector source — Figma, Sketch, Illustrator, or Affinity Designer. Export the raster at 1024×1024, sRGB, opaque background, no transparency. Don't take a 256×256 mock and upsample it: the Lanczos filter that iOS uses for downsampling needs Nyquist headroom that low-res sources don't have, and the visible result is jagged edges in the 60 and 87 px Spotlight sizes.
If your only artwork is small, redraw the icon in vector first. It costs an hour and saves the icon from looking dated 18 months from now when you re-export for a new target.
Color profile pitfalls
# Inspect the color profile before submission
sips -g all my-icon-1024.png
# Convert Display P3 → sRGB if needed (macOS only)
sips --matchTo \
/System/Library/ColorSync/Profiles/sRGB\ Profile.icc \
my-icon-1024.png \
--out my-icon-srgb.png
The first sips call prints the embedded profile; if you see Display P3 and your validator complains, the second call re-tags the file to sRGB. If you don't have a Mac, iKit's image compressor re-encodes PNGs in the browser and writes sRGB by default.
Stripping the alpha channel
# Flatten an RGBA PNG onto white using ImageMagick
magick my-icon.png -background white \
-alpha remove -alpha off \
my-icon-flat.png
# Verify the result has no alpha
magick identify -format "%A\n" my-icon-flat.png
# Output should be: False
The -alpha remove flag composites the image onto the -background color (set to your brand color if white isn't right) and -alpha off actually drops the channel from the file header. Without the second flag, some validators still see "alpha-capable" and reject. iKit's generator handles this automatically — it composites onto the launcher color you pick, then writes opaque RGB.
The padding rule
iOS's squircle mask radius is 17.54% of the icon side at every size. If your logo touches the icon's edge, the mask trims into your design at the corners. Conservative rule: leave at least 100 px of clear space inside a 1024×1024 frame on every side. For logos with thin strokes or tight bottom counters (script lettermarks especially), bump that to 120–150 px so the squircle's curve doesn't bite into a stroke and the optical illusion of "centered enough" still holds at 60 px Spotlight rendering.
Setting up the asset catalog (Xcode + Contents.json)
What Xcode expects
Modern Xcode projects expect this structure in your Assets.xcassets/AppIcon.appiconset/ folder:
AppIcon.appiconset/
├── Contents.json
├── icon-1024.png (1024×1024)
├── icon-180.png (180×180)
├── icon-167.png (167×167)
├── icon-152.png (152×152)
├── icon-120.png (120×120)
├── icon-87.png (87×87)
├── icon-80.png (80×80)
└── ... (rest of the family)
A valid Contents.json snippet
{
"images": [
{
"size": "1024x1024",
"idiom": "ios-marketing",
"filename": "icon-1024.png",
"scale": "1x"
},
{
"size": "60x60",
"idiom": "iphone",
"filename": "icon-180.png",
"scale": "3x"
},
{
"size": "60x60",
"idiom": "iphone",
"filename": "icon-120.png",
"scale": "2x"
}
],
"info": { "version": 1, "author": "xcode" }
}
The idiom field tells Xcode which device family this slot belongs to (iphone, ipad, ios-marketing, mac, watch, car). The scale plus size together produce the actual pixel dimension — 60×60 @ 3x = 180 px, which is why the iPhone home-screen tile is filed as 60×60 but the file is 180×180. iKit's export bundles a working Contents.json with every icon entry pre-wired so you can drop the folder straight into Assets.xcassets.
Drag-and-drop into Xcode
Open AppIcon.appiconset in Finder, replace the contents with the unzipped iKit export, then re-open the project in Xcode. The asset catalog editor refreshes automatically. Build, archive, and validate — App Store Connect runs the same checks Xcode does locally, so a clean local validate means a clean upload.
Common App Store Connect rejections (and the fix)
ITMS-90717: Invalid App Store Icon
Cause: alpha channel present in icon-1024.png. Fix: re-export as RGB-only PNG. The iKit generator's "App Store" preset always writes RGB, so re-running the export with the same source PNG fixes it without a redesign.
ITMS-90022: Missing required icon file
Cause: a size declared in Contents.json references a file that's not present in the bundle. Common when a designer hand-edits Contents.json to add a new size but forgets to add the PNG. Fix: keep the export pipeline as the single source — don't hand-edit the JSON. If you must, run xcrun actool locally to validate.
ITMS-90713: Missing Info.plist value
Cause: CFBundleIconName not set. Fix: in your target's Info.plist, add a string entry CFBundleIconName with the value AppIcon (the asset-catalog folder's name minus .appiconset). This entry was made mandatory in iOS 11 but only enforced server-side starting in 2020.
Visual rejections (rare but slow)
App Reviewers occasionally reject an icon as "too similar to a built-in iOS icon" or "potentially confusing brand." There's no programmatic check for this — it's reviewer judgment, and the resolution path is a written response in App Store Connect explaining the design intent. Avoid icons that closely mimic Apple's own glyphs (Camera, Settings gear, Music note in a generic frame) and you'll never see this rejection.
Generating every size in one click
Drop in a 1024×1024 PNG
Open appicon.ikit.app and select the iOS App Store preset. Drop your source PNG. The tool runs entirely in WebAssembly, same architecture as iKit's PNG compressor — no upload, no sign-up, no server processing. Verify in DevTools → Network: only static asset loads on the first visit, then no outbound traffic during the export.
What ships in the ZIP
You get a single ZIP archive containing:
AppIcon.appiconset/— the full Xcode-ready folder withContents.json- All 16 individual PNGs at their exact pixel sizes
- A
manifest.jsonsnippet for PWA / web app integration - A
web/subfolder with the matching favicon set (16, 32) and Apple Touch Icon (180)
Drop the AppIcon.appiconset into your Xcode project's Assets.xcassets, copy the favicon set to your website's public/ directory, and you have full icon parity between your iOS app and your marketing site in one step.
Reproducible builds with hashes
If multiple designers ever re-export the icon, hash the source so everyone agrees on the file that went in. iKit's hash generator gives SHA-256 in the browser. Paste that hash in the icon's commit message and you've got a reproducible lineage every time the icon is regenerated — handy when the App Store rejects an upload and you need to confirm whether the icon actually changed since the last passing build.
Related on iKit
- Generate App Icons for iOS, Android, and Web in 2026 — The multi-platform icon export walkthrough; the iOS App Store flow above is the iOS branch of that pipeline, with parallel branches for Android mipmap and Web favicon.
- Apple Touch Icon Generator: Sizes, Specs & Setup — The web-side companion to your App Store icon: same 1024×1024 source, different output target for iOS Safari "Add to Home Screen."
Related posts
How to Decode a JWT in 2026 — Auth0 & Firebase Examples
Decode a JWT in 2026 with real Auth0 and Firebase tokens — header, payload, signature explained, common debugging traps, and why pasting tokens online is risky.
Decode Base64 to a Downloadable File in Browser (2026)
Decode Base64 strings into a real downloadable file — PDF, image, ZIP, audio — directly in your browser. No upload, no server, no plaintext leaks.
Online Markdown Viewer with Live Preview — Free, No Sign-Up (2026)
An online Markdown viewer that renders MD to HTML in real time — paste, see the formatted preview, copy the HTML or the rendered text. 100% in your browser.