Skip to content

FREE TOOL · RUNS IN YOUR BROWSER

App icon and splash screen generator

Upload an image or build an icon from a symbol or initials. Export every size iOS, Android and Expo need, with the config to paste.

1. Start from

Icon source
Foreground
Symbols
2.00
58%

2. Background

Background presets
Fill
160°

3. Name and splash screen

Splash image
200 dp

Everything is drawn in your browser. Your image never leaves your device.

Upload an image to see your icon here.

Download everything as one ZIP

  • iOS: 1024 px App Store icon (no alpha) in a single-size AppIcon.appiconset for Xcode
  • Android: legacy and round launcher icons and adaptive foreground and background layers for mdpi to xxxhdpi, plus the 512 px Play Store icon
  • Expo: icon.png, adaptive-icon.png, splash-icon.png, favicon.png and the app.json snippet below
  • README.txt saying where each file goes

app.json snippet (included in the ZIP)

{
  "expo": {
    "icon": "./assets/images/icon.png",
    "android": {
      "adaptiveIcon": {
        "foregroundImage": "./assets/images/adaptive-icon.png",
        "backgroundColor": "#ff8a3d",
        "backgroundImage": "./assets/images/adaptive-icon-background.png",
        "monochromeImage": "./assets/images/adaptive-icon-monochrome.png"
      }
    },
    "web": {
      "favicon": "./assets/images/favicon.png"
    },
    "plugins": [
      [
        "expo-splash-screen",
        {
          "image": "./assets/images/splash-icon.png",
          "imageWidth": 200,
          "resizeMode": "contain",
          "backgroundColor": "#ff8a3d"
        }
      ]
    ]
  }
}

Icons done. The app they sit on is the hard part.

NativeExpress is a running iOS and Android app with sign-in, payments and AI already built. Start from it, get help on a call, or have us build it with you.

DO IT YOURSELF, FASTER

The NativeExpress template

A running iOS and Android app with sign-in, payments, a database and AI built in. One payment, full source, lifetime updates.

GET UNSTUCK

Consulting call, $149

A working session on architecture, setup or your launch plan. You bring the problem, you leave with the decision made.

HAVE IT BUILT

Done for you

We build and launch the app with you, on your stores, under your brand. Start with a short call so we can scope it.

Book a 30-min intro call

App icon requirements in 2026

Every platform now starts from one large square image and generates the small sizes itself. What differs is who rounds the corners, whether transparency is allowed, and how much of your artwork survives the mask. Get those three right and the rest is file names.

iOS: one 1024 px square, no transparency

Since Xcode 14, an app icon can be a single 1024 × 1024 px image. Apple calls this the single size option, and it is the default for new iOS projects: Xcode generates every Home Screen, Spotlight and Settings size from it at build time. The ZIP from this tool contains an AppIcon.appiconset in that format, with a Contents.json that lists one universal 1024 px image.

Draw the icon as a full square. The Human Interface Guidelines say iOS applies its own mask to produce the rounded corners, so corners you round yourself end up with a thin border of background showing through. The same page lists the appearances iOS 26 can show an icon in: default, dark, clear and tinted. If you supply only the default, the system generates the others.

The App Store icon must be opaque. Upload one with transparent pixels, or even a fully opaque PNG that still carries an alpha channel, and App Store Connect stops the build with error ITMS-90717, “can’t be transparent nor contain an alpha channel”. Most image editors and browsers save PNGs with an alpha channel by default. This tool writes the iOS icon as an RGB PNG with no alpha channel at all, flattened onto your background.

Android: launcher icons, adaptive layers and the Play Store icon

A legacy Android launcher icon is 48 dp. Android scales density buckets in a 3:4:6:8:12:16 ratio, so that is 48 px at mdpi, 72 at hdpi, 96 at xhdpi, 144 at xxhdpi and 192 at xxxhdpi. Launcher icons go in mipmap folders rather than drawable, because launchers sometimes show an icon up to 25% larger than its density calls for and need the next size up.

Google Play needs its own 512 × 512 px icon: a 32-bit PNG in sRGB, at most 1024 KB, as a full square. Play rounds the corners and adds the shadow itself, so a shadow or rounded corners in your file get applied twice.

Adaptive icons and safe zones

Since Android 8.0, the launcher icon is an adaptive icon: a foreground layer and a background layer, each 108 × 108 dp. The phone’s launcher picks the shape. A Pixel shows a circle, other phones show a squircle or a rounded square, and the same app can look different on two devices side by side.

Of the 108 dp, only the middle 72 dp is ever visible. The outer 18 dp on each side is spare canvas for the parallax and pulse effects some launchers apply. Inside the visible part, Android guarantees only a 66 dp circle in the middle. That circle is the safe zone: 61% of the full layer’s width, or 92% of the visible square. Anything outside it can be cut off by a circular mask.

Android 13 added a third, optional layer: a monochrome image the system tints to match the wallpaper when the user turns on themed icons. It should be a single-colour silhouette. This tool exports one whenever your foreground is a symbol, letters or an image with transparency, since a full-bleed photo has no shape to silhouette.

The preview above draws the full adaptive layer with the visible square dashed and the safe zone circled, so you can see what each launcher will keep.

Splash screens in Expo

Android 12 and later draw the splash screen themselves, through the SplashScreen API: a background colour and an icon in the middle, masked to a circle. An icon without its own background is 288 dp, of which a 192 dp circle is visible. Full-screen splash images no longer work there, which is why Expo moved to a small centred image too.

In Expo, the splash screen is configured through the expo-splash-screen config plugin. Its keys are image, imageWidth (default 100), resizeMode (contain, cover or native), backgroundColor and a dark object for dark mode. Expo’s guide recommends a 1024 × 1024 px PNG with a transparent background, which is what splash-icon.png in the ZIP is. The artwork is kept inside the visible circle, so Android 12 does not crop it.

Icons and splash screens are native resources. After changing them, run npx expo prebuild --cleanor make a new EAS build. A Metro reload or an over-the-air update will not change them, which accounts for most “my new icon is not showing” questions.

NativeExpress has the same job built in: yarn theme:icon generates the icon and splash screen inside the template.

Common reasons icons get rejected

  • Alpha channel on the App Store icon. ITMS-90717, covered above. It is checked at upload, before a reviewer sees the build.
  • Content above a 4+ rating. App Review guideline 2.3.8 asks for icons that suit all audiences, even for apps rated higher.
  • Mismatched icons. The same guideline asks that your app name and every icon, including alternate icons, look like the same app.
  • Other people’s artwork.Guideline 4.1(c) bans another developer’s icon or brand in yours, 2.3.10 bans other platforms’ icons, and 5.2.5 bans Apple emoji inside apps.
  • Promotional badges on Google Play.Google’s icon specification rules out text or graphics that suggest a ranking, a deal, a Play programme or anything misleading. “Free”, “#1” and “Sale” do not belong on the icon.

FAQ

What size should an app icon be?

Start from a square 1024 × 1024 px PNG. Xcode builds every iOS size from a single 1024 px image, Expo asks for 1024 px for icon.png, and Google Play wants a 512 × 512 px listing icon. Android launcher icons are 48 dp, which is 48 to 192 px across the five densities, and adaptive icon layers are 108 dp, 108 to 432 px. This generator exports all of them from one design.

Can an iOS app icon be transparent?

Not the main one. App Store Connect rejects an App Store icon that is transparent or even contains an alpha channel, with error ITMS-90717. Fill the whole square and let iOS round the corners. The one exception is the dark appearance variant Xcode accepts, which Apple asks for with a transparent background so the system background can show through.

What is an Android adaptive icon?

An icon made of two layers, a foreground and a background, each 108 × 108 dp. The launcher crops them to its own shape (a circle, a squircle or a rounded square, depending on the phone) and can move the layers for a parallax effect. Only the middle 72 dp is shown, and only the middle 66 dp circle is guaranteed to survive every mask, so keep your logo inside it.

How do I add an icon to an Expo app?

Put a 1024 px icon.png in your assets folder and point the icon field of app.json at it. For Android, set android.adaptiveIcon with a foregroundImage and a backgroundColor. For the splash screen, add the expo-splash-screen plugin with an image, imageWidth and backgroundColor. Then make a new build, because icons are native resources and an over-the-air update cannot change them. The ZIP from this tool contains the files and the exact snippet.

Can I use an emoji as my app icon?

Be careful. An emoji is someone else's artwork: on a Mac or iPhone it is Apple's, and App Store guideline 5.2.5 says apps may not include Apple emoji. Open sets such as Google's Noto Color Emoji are licensed for reuse, but check the licence first. This tool builds icons from a symbol or letters instead, which avoids the question entirely.

More free tools