image-toolkit
Back to guides

iOS Xcode Imageset Guide: 1x, 2x, and 3x Raster Assets

Build Xcode imagesets with correct 1x, 2x, and 3x PNG variants for tab icons, illustrations, and in-app UI art—without manual scaling mistakes.

By Alejandro Rodriguez Romero

7 min readLast updated May 27, 2026

In short

Upload a high-resolution master, export an imageset ZIP, and import into xcassets with consistent naming across targets.

For raster UI art in iOS projects, generate 1x, 2x, and 3x variants from one master bitmap, then import the imageset folder into your Xcode asset catalog instead of scaling a single PNG by hand.

Point size math before export

If a tab icon is 25×25 pt on iPhone, you need 25px (@1x), 50px (@2x), and 75px (@3x) bitmaps inside the imageset. Uploading only a 50px file forces upscaling on @3x devices.

Design at the largest scale you support, then let the generator downscale—never upscale a small master for Retina screens.

Naming and catalog hygiene

Match your team prefix (e.g. tab_home, ill_onboarding_hero). One imageset per logical asset; do not stuff unrelated sizes into a single catalog entry.

After import, clean build folder once when Xcode caches stale thumbnails—especially after replacing every scale in a hotfix branch.

When to skip raster imagesets

SF Symbols and PDF vectors cover many toolbar and navigation glyphs with less maintenance. Reserve raster imagesets for brand illustrations, game UI, or art that must match Android PNG exports pixel-for-pixel.

Why this works

  • Scale factors match how UIKit and SwiftUI resolve assets on Retina displays.
  • Batch export prevents mixed generations (@2x from an old file, @3x from a new one).
  • ZIP structure maps directly to .imageset folders developers already use.

When to use this workflow

  • You need tab bar icons, illustrations, or marketing art as raster imagesets.
  • Design handed off a single @3x PNG and engineering needs the full scale ladder.
  • You are refreshing in-app UI graphics without touching launcher icons.

Step-by-step guide

  1. Confirm logical point size in your design spec (e.g. 24pt tab icon).
  2. Upload a master at least 3× that point size when possible.
  3. Generate the imageset ZIP and extract locally.
  4. Drag the .imageset folder into xcassets and assign to the correct target.
  5. Build on a physical device or simulator at @3x to verify sharpness.

Common mistakes to avoid

  • Using launcher icon packs for in-app tab art (different safe zones and sizes).
  • Exporting only @2x and letting Xcode upscale for @3x phones.
  • Mixing old and new scale files after a partial rebrand.

Frequently asked questions

How is an imageset different from AppIcon.appiconset?

AppIcon sets are for home-screen and store marketing icons with platform-specific masks. Imagesets are for general UI bitmaps at 1x/2x/3x inside your app.

Should I use PDF vectors instead?

Xcode supports single-scale PDF vectors for some UI. Use raster imagesets when you need pixel-perfect illustrations or art that must match Android exports exactly.

Try it in image-toolkit

Official references