Smaller IPA · Local · No upload

Compress Xcode Assets — Smaller IPAs, No Code Changes

Compress the images in your Assets.xcassets catalog before building — smaller IPA size, faster App Store uploads, no upload, no code changes.

Quick answer

Drop your Xcode project's Assets.xcassets folder into TinyPixels before building. It compresses every PNG and JPEG variant in place, shrinking your final IPA size with zero changes to your Xcode project settings or code.

How to compress your Xcode asset catalog

1

Download and open TinyPixels

Free to install on Mac — no account needed to start.

2

Locate your Assets.xcassets folder

Find it in your Xcode project navigator or on disk within your project folder.

3

Drop the folder into TinyPixels

Compress app icons, launch images, and all 1x/2x/3x resolution variants at once.

4

Rebuild and archive in Xcode

Your next build ships a smaller IPA with no code or asset catalog structure changes.

Why asset catalog size matters for iOS apps

Every image in Assets.xcassets gets bundled directly into the IPA, multiplied across every resolution variant you provide. Onboarding illustrations, in-app graphics, and marketing images exported from design tools are frequently far larger than needed for the pixel dimensions iOS actually renders them at.

Smaller IPAs mean faster App Store downloads, lower cellular data usage for users installing over a network, and in some cases avoiding size-related warnings during review. Compressing asset catalog images is a zero-risk change — pixel dimensions and code stay identical, only file size drops.

No code changes needed

Compress in place — Xcode renders the same bytes, just smaller.

All resolution variants covered

Compress 1x, 2x, and 3x images in the same batch pass.

Works alongside App Thinning

Smaller sources mean smaller per-device slices after Apple's own optimization.

Faster archive and upload

Smaller committed assets mean faster Xcode archive and App Store Connect uploads.

App Thinning slices your bundle — it doesn't shrink the source

Apple's App Thinning system builds device-specific app variants at App Store distribution time, so an iPhone only downloads the @2x or @3x slice it actually needs rather than every resolution in your catalog. This is genuinely useful — but it operates on whatever source images you've compiled into the .car file.

A bloated 2x variant still produces a bloated per-device slice after thinning. Compressing the source before it enters Assets.xcassets means every thinned variant benefits, not just the aggregate IPA you upload to App Store Connect.

Common mistakes with Xcode asset catalogs

Compressing only the largest resolution variant

Each of 1x/2x/3x is a distinct file in the catalog — App Thinning delivers whichever one matches the device, so an uncompressed 2x still ships uncompressed to the devices that need it.

Not auditing App Icon and Launch Screen image sets

These contain many required size permutations across iPhone, iPad, and App Store marketing — easy to overlook next to more visible in-app graphics.

Assuming asset catalog compilation (actool) compresses images

actool compiles Assets.xcassets into a single .car file for faster runtime lookup — it packages your images efficiently, but doesn't meaningfully re-encode or shrink the pixel data itself.

Treating Assets.xcassets and loose bundle resources the same

Some projects also reference loose image files outside the asset catalog (e.g. bundled in a Resources group) — these need the same compression pass but are easy to miss during an Assets.xcassets-only audit.

Frequently asked questions

How do I reduce iOS app size from Xcode assets?

Compress every image in your Assets.xcassets catalog before building — app icons, launch images, and in-app graphics exported at multiple resolutions (1x, 2x, 3x) often carry more size than needed. Running them through a compressor like TinyPixels before adding to Xcode can shrink the final IPA with no code changes.

Does compressing images affect how Xcode renders app icons or assets?

No. Xcode renders whatever image bytes are in the asset catalog — a properly compressed PNG at the same resolution and pixel dimensions looks identical on device while taking up less space in the app bundle.

Should I compress all resolution variants (1x, 2x, 3x) in an asset catalog?

Yes. Each resolution variant is a separate file bundled into the IPA. Compressing all of them — not just the largest — reduces total asset catalog size proportionally.

Can I batch compress an entire Assets.xcassets catalog before archiving?

Yes. Drop your project's Assets.xcassets folder into TinyPixels and every image compresses in one pass, ready to commit before your next Xcode build or archive.

Shrink your iOS app bundle today

Free to start. No credit card, no account, no cloud. See Pro pricing →