APPICON.APPICONSET

AppIcon.appiconset, structure and sizes explained.

AppIcon.appiconset is the folder in an Xcode asset catalog that holds iOS app icons: a Contents.json manifest plus PNGs named by device idiom, point size and scale. This page walks through the structure, the full size list, the Xcode import steps and how to troubleshoot a missing icon; if you just want the files, the icon generator at the end produces a complete set in one click.

Open the icon generator (iOS tab)

The generator’s iOS tab outputs AppIcon.appiconset (with Contents.json). Everything runs locally in your browser — no upload.

What is AppIcon.appiconset?

In Xcode, app icons are not loose PNGs but a single asset folder named AppIcon.appiconset. It has two parts: the Contents.json manifest and a set of bitmaps named by device idiom, point size and scale. Xcode reads Contents.json to map each image to the right device and context (home screen, Spotlight, Settings, App Store, etc.). Drop the folder into Assets.xcassets and the project picks it up.

iOS icon size chart (current spec)

The full list a universal iOS app needs; point size × scale = pixels.

Idiom (device) Point size Scale Pixels Filename
ipad20x201x20icon-20.png
iphone20x202x40icon-20@2x.png
ipad20x202x40icon-20@2x.png
iphone20x203x60icon-20@3x.png
ipad29x291x29icon-29.png
iphone29x292x58icon-29@2x.png
ipad29x292x58icon-29@2x.png
iphone29x293x87icon-29@3x.png
iphone40x402x80icon-40@2x.png
ipad40x402x80icon-40@2x.png
iphone40x403x120icon-40@3x.png
iphone60x602x120icon-60@2x.png
iphone60x603x180icon-60@3x.png
ipad76x761x76icon-76.png
ipad76x762x152icon-76@2x.png
ipad83.5x83.52x167icon-83.5@2x.png
ios-marketing1024x10241x1024icon-1024.png

What Contents.json looks like

Contents.json maps each idiom / size / scale to a filename via the images array, with info for version and author. Here is a trimmed example matching this tool’s output:

{
  "images" : [
    { "idiom" : "iphone", "size" : "20x20", "scale" : "2x", "filename" : "icon-20@2x.png" },
    { "idiom" : "iphone", "size" : "60x60", "scale" : "3x", "filename" : "icon-60@3x.png" },
    { "idiom" : "ipad", "size" : "76x76", "scale" : "2x", "filename" : "icon-76@2x.png" },
    { "idiom" : "ios-marketing", "size" : "1024x1024", "scale" : "1x", "filename" : "icon-1024.png" }
  ],
  "info" : { "version" : 1, "author" : "tushuo" }
}

Each filename must match an actual PNG in the folder; one image can serve multiple idioms (e.g. 40@2x is used for both iPhone and iPad Spotlight).

When the icon is missing or the build fails

Almost every iOS icon problem comes down to one of three things: the filename, the pixel size, or the App Icon name. Work through the table below and you will find it.

Symptom Cause Fix
Blank home screen icon / generic placeholderThe App Icon name checked in the target does not match the folder nameName the folder AppIcon.appiconset and confirm the name is also AppIcon under Target → General
Build fails with “unassigned child”A filename in Contents.json points to a file that does not existCheck every filename against the PNGs in the folder; letter case must match exactly
Edges look cropped / wrong corner radiusThe PNG already has rounded corners or padding and the system masks it againSupply an opaque square full-bleed image with no rounding or shadow; the system applies the shape
App Store rejects the 1024 uploadThe marketing icon has an alpha channel or is not exactly 1024x1024Export an RGB PNG without alpha at exactly 1024x1024
Icon changed but the simulator still shows the old oneAsset Catalog cachingRun Product → Clean Build Folder and rebuild, or delete AppIcon and drag it back in

How to import into Xcode

  1. Download the ZIP and unzip it to get the AppIcon.appiconset folder.
  2. Open your project in Xcode and locate Assets.xcassets.
  3. Drag the whole AppIcon.appiconset folder into Assets.xcassets (replace the existing AppIcon).
  4. Under Target → General → App Icons and Launch Screen, confirm the App Icon name is AppIcon.
  5. Run on a simulator / device — the home screen icon updates; the 1024 marketing image is used for App Store uploads.
Open the icon generator (iOS tab)

FAQ

Can I skip Contents.json?

No. Without it Xcode cannot map PNGs to idiom / size / scale, and the asset catalog will error or show no icon. It is the index of the appiconset.

Why do some sizes look duplicated (e.g. 40@2x and 60@2x are both 120px)?

Different point sizes, same pixels: 40pt@2x and 60pt@2x are both 120px but serve different contexts (Spotlight vs home screen). They are two entries in Contents.json that can point to the same file.

Do I need separate icons for dark / tinted mode?

Dark and tinted appearances are optional since iOS 18. Declare them via appearances in the same Contents.json, or keep separate AppIcon-dark / AppIcon-tinted folders as this tool does.

Are my images uploaded to a server?

No. Generation and zipping happen entirely in your browser; the source image never leaves your device.

Further reading

觉得好用?Found it useful?