Splash Screen Size & Dimensions: The Complete Cheat Sheet for iOS and Android in 2026

Splash Screen Size & Dimensions: The Complete Cheat Sheet for iOS and Android in 2026

You've built a beautiful app. The UI is polished, the features work, and you're ready to ship. Then someone on your team asks: "Hey, what size should the splash screen be?"

Cue the browser tabs. Twenty minutes later you've got five different answers, two of them outdated, and one that's for a platform you're not even targeting.

Sound familiar?

This guide fixes that. You'll get the exact splash screen dimensions for every major iOS and Android device in 2026, plus the why behind the specs, common mistakes to avoid, and expert-level tips to make your launch screen actually shine.

Let's get into it.


What Is a Splash Screen (And Why Does It Matter)?

Before we throw numbers at you, a quick level-set.

A splash screen (also called a launch screen) is the first visual a user sees when they open your app — that brief moment between tapping the icon and the app being ready to use. Done well, it makes your app feel fast and polished. Done badly, it feels sluggish or looks broken.

Here's what you need to know at the top level:


Part 1: iOS Splash Screen Sizes & Dimensions

How iOS Launch Screens Actually Work in 2026

Apple's approach has evolved significantly. Here's the current state of play:

Current iPhone Screen Resolutions (2025–2026 Lineup)

These are the devices your users are actually on right now:

Device Screen Size Resolution (px) Scale Points
iPhone 17 Pro Max6.9 in~1320 × 2868@3x440 × 956 pt
iPhone 17 Pro6.3 in~1206 × 2622@3x402 × 874 pt
iPhone 17 / 17 Air6.1 in~1179 × 2556@3x393 × 852 pt
iPhone 16e6.1 in~1179 × 2556@3x393 × 852 pt
iPhone 16 Plus6.7 in~1290 × 2796@3x430 × 932 pt
iPhone 15 / 166.1 in~1179 × 2556@3x393 × 852 pt
iPhone SE (3rd gen)4.7 in750 × 1334@2x375 × 667 pt
iOS Scale Factor Visualization (@2x vs @3x) 1 Point Base Line @2x (4 Pixels) @3x (9 Pixels)

Key takeaways for iOS static image exports:

iPad Launch Screen Dimensions

iPads add landscape orientation to the mix, which trips up a lot of developers:

Device Portrait (px) Landscape (px) Scale
iPad Pro 13" (M4)2064 × 27522752 × 2064@2x
iPad Pro 11" (M4)1668 × 24202420 × 1668@2x
iPad Air 13"2064 × 27522752 × 2064@2x
iPad Air 11"1668 × 24202420 × 1668@2x
iPad mini (7th gen)1488 × 22662266 × 1488@2x
iPad (10th gen)1640 × 23602360 × 1640@2x

Things to watch with iPad:

The Recommended iOS Approach: Xcode Storyboard

If you're building a native iOS app, here's the bottom line:

Step 1: Use LaunchScreen.storyboard

Xcode generates this automatically for new projects. It's a standard UIViewController with Auto Layout — design your logo, background colour, and any static elements here.

Step 2: Set a background colour

Use a solid colour or gradient via the storyboard's background attribute. Match your app's primary brand colour.

Step 3: Add your logo as an Image View

Step 4: Mark the storyboard as the launch screen file

In your Info.plist, set UILaunchStoryboardName to LaunchScreen. Xcode usually handles this for you.

⚠️ Warning: Don't add any custom class code to your LaunchScreen.storyboard — it won't run. The launch screen must be 100% static layout.

iOS Launch Screen for Cross-Platform Frameworks

Using React Native, Flutter, or Expo? You'll likely need to provide static sized images. Here are the standard sizes that most frameworks request:

Size Name Portrait (px) Landscape (px)
Default (non-Retina)320 × 480480 × 320
@2x (Retina)640 × 960960 × 640
iPhone 5 / SE640 × 11361136 × 640
iPhone 6/7/8750 × 13341334 × 750
iPhone Plus1242 × 22082208 × 1242
iPhone X/11/12/131125 × 24362436 × 1125
iPhone 14/15/16/171179 × 25562556 × 1179
iPhone 17 Pro Max1320 × 28682868 × 1320

Part 2: Android Splash Screen Sizes & Dimensions

The Android 12+ SplashScreen API — What Changed Everything

Android 12 (API 31) introduced the SplashScreen API, and it fundamentally changed how splash screens work on Android.

Android Splash Screen Icon Dimensions

The SplashScreen API uses your adaptive icon as the splash icon. Here are the exact dimension specs from Android's official documentation:

App Icon (No Background)

Android SplashScreen API Layout Total Area: 288dp × 288dp 192dp Circle (Visible Mask)
ASCII REPRESENTATION OF ANDROID SAFE ZONE ========================================= +---------------------------------------+ | | | [Masked Out Area] | | | | .-------. | | .' '. | | / VISIBLE \ | | | LOGO | | | | AREA | | | \ 192 dp / | | '. .' | | '-------' | | | | [Masked Out Area] | | | +---------------------------------------+ TOTAL AREA: 288 x 288 dp

App Icon (With Icon Background)

Branded Image (Bottom of screen)

Animated Icon (AVD)

Android Pixel Density Reference

Android doesn't have fixed resolutions — there are hundreds of device sizes. Instead, you design in dp (density-independent pixels) and export assets at these density buckets:

Density Qualifier Scale Factor Splash Icon (px)
mdpi (baseline)288 × 288
hdpi1.5×432 × 432
xhdpi576 × 576
xxhdpi864 × 864
xxxhdpi1152 × 1152

Pro tip: Use a vector drawable (SVG → VectorDrawable) for your splash icon instead of rasterised PNGs. It scales perfectly to any density without needing multiple exports and is the format the SplashScreen API is optimised for.

Setting Up the Android SplashScreen API

Here's a quick reference implementation:

Step 1: Add the dependency

dependencies {
    implementation "androidx.core:core-splashscreen:1.0.1"
}

Step 2: Define your splash theme

<!-- res/values/themes.xml -->
<style name="Theme.App.Starting" parent="Theme.SplashScreen">
    <item name="windowSplashScreenBackground">#FFFFFF</item>
    <item name="windowSplashScreenAnimatedIcon">@drawable/splash_logo</item>
    <item name="windowSplashScreenAnimationDuration">500</item>
    <item name="postSplashScreenTheme">@style/Theme.MyApp</item>
</style>

Step 3: Apply in your manifest

<activity
    android:name=".MainActivity"
    android:theme="@style/Theme.App.Starting">

Step 4: Install in MainActivity

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        val splashScreen = installSplashScreen()
        super.onCreate(savedInstanceState)
    }
}

Part 3: Common Mistakes & Pitfalls

Even experienced developers stumble on this stuff. Here are the most common traps — and how to avoid them.

Mistake 1: Using Oversized or Underdesigned Static Images

Mistake 2: Ignoring the Safe Area and Dynamic Island

Mistake 3: Treating the Splash Screen as a Branding Canvas

Mistake 4: Adding Artificial Delays on Android

Mistake 5: Skipping iPad or Landscape Versions

Mistake 6: Using the Wrong Colour Space


Expert Tips & Best Practices

Tip 1: Design at 1× and Scale Up

Design your logo and layout at base (1×) dimensions in points (iOS) or dp (Android), then export at 2× and 3× for pixel assets. This workflow prevents the "designed at the wrong size" confusion that trips up junior designers.

Tip 2: Match Your First Screen to Your Splash Screen

Tip 3: Test on Real Devices, Not Just Simulators

Tip 4: Use Vector Assets Wherever You Can

Tip 5: Keep Animation Short and Purposeful

Tip 6: Dark Mode Support


Frequently Asked Questions

Q1: Do I still need to provide static splash screen images for iOS in 2026?

For native iOS apps built in Xcode, no — the storyboard approach is the only officially supported method, and it handles all device sizes automatically. However, if you're using a cross-platform framework like React Native, Flutter, or Capacitor, you likely will still need to provide static image assets at specific sizes, because those frameworks generate the native project files and may require them. Always check your specific framework's documentation.

Q2: What's the minimum image size I should design my splash screen at?

If you're designing for iOS, start at the iPhone 17 Pro Max resolution of roughly 1320 × 2868 px — that's the largest current device. For Android, design in dp (not pixels) and export using vector drawables to avoid needing multiple PNGs altogether. If you must use raster images for Android, design at xxxhdpi (4×) and scale down.

Q3: Can I show a GIF or video on my splash screen?

Short answer: not directly on either platform in the traditional sense. On Android, the SplashScreen API supports AnimatedVectorDrawable (AVD) — not GIFs or video. On iOS, the storyboard is static. For anything richer (like a Lottie animation), you'd implement that in your app's first view controller after the system splash screen dismisses, which gives the visual appearance of an animated intro.

Q4: My Android splash screen looks fine on API 31+ but broken on older devices. Why?

The windowSplashScreenAnimatedIcon attribute is only supported on API 31+. On older APIs, it falls back differently. The fix is to create a separate res/drawable-v31/ folder for your animated icon, and put a standard static vector drawable in res/drawable/ for older devices. The core-splashscreen compat library handles most of the heavy lifting, but asset versioning is still your responsibility.

Q5: How long should a splash screen be displayed?

As short as possible. The splash screen should disappear the moment your app is ready to use — not after a fixed timer. Apple's Human Interface Guidelines say the launch screen should give the impression that your app is "fast and responsive." On Android, Google's guidance caps animated icon duration at 1,000 ms, but recommends shorter. If your app needs extra loading time, show a proper loading screen inside your app, not an extended splash.

Q6: Does the splash screen affect App Store or Google Play submission?

Indirectly, yes. On iOS, if you submit an app without a launch screen file (LaunchScreen.storyboard), it will be rejected. Apple made this mandatory in 2020 and hasn't relaxed that requirement. On Android, there's no explicit Play Store rejection for splash screen formatting, but a crash during app launch (which a misconfigured SplashScreen theme can cause) will get flagged in Play's pre-launch report.

Q7: Should my splash screen logo be the same as my app icon?

Generally, yes — consistency is the goal. The Android SplashScreen API literally uses your adaptive app icon by default. On iOS, while you have more control, showing a version of your app icon (or your full wordmark) creates the visual connection between the icon the user tapped and the app that's opening. Showing something completely different is confusing.


Conclusion

Here's the short version of everything we covered:

iOS in 2026:

Android in 2026:

Universal advice:

Your next step: Open your project right now and check which approach your splash screen is using. If you're still using the old Android SplashActivity pattern or iOS static image-only launches, you've got a quick win waiting for you. The modern APIs are genuinely better — faster, cleaner, and a lot less maintenance.

Got a cross-platform setup that's giving you grief? Let us know.

Last updated: May 2026. Specifications reflect iOS 26 / iPhone 17 lineup and Android API 36.