UTA DevHub
UI Development/Splash Screen Guide

Design & Assets

Creating and optimizing splash screen assets for professional appearance across all devices

Design & Assets

Overview

Creating effective splash screen assets requires careful consideration of design principles, technical constraints, and platform differences. This guide covers everything you need to create professional splash screens that look great on all devices.

Asset Quality Matters

Your splash screen is often the first visual element users see. High-quality, properly optimized assets ensure:

  • Professional first impression
  • Fast loading times
  • Crisp appearance on all screen densities
  • Proper scaling across device sizes

Design Principles

Simplicity

  • (Do ✅) Keep the design minimal and brand-focused

    • Display only essential elements (logo, brand name, etc.)
    • Avoid complex animations that extend display time
    • Focus on visual identity rather than functionality
  • (Don't ❌) Add interactive elements or complex layouts

    • The splash screen is temporary by design
    • Avoid overwhelming users with information
    • Remember it's a loading indicator, not a feature screen

Visual Hierarchy

Primary Element

Your logo or brand icon should be the focal point:

  • Center it on the screen
  • Size it appropriately (typically 100-150dp)
  • Ensure adequate padding from screen edges

Secondary Elements (Optional)

If including additional elements:

  • Brand name or tagline below the logo
  • Keep text minimal and readable
  • Maintain visual balance

Background

Choose a background that complements your brand:

  • Solid colors work best
  • Avoid complex patterns or gradients
  • Consider both light and dark modes

Asset Requirements

Image Formats

Size Guidelines

The react-native-bootsplash CLI uses a base logo width that scales appropriately:

npx react-native-bootsplash generate \
  --assets-path=assets/splash \
  --background-color="#FFFFFF" \
  --logo-width=100 \  # Base width in dp/pt
  path/to/your/logo.png
Screen SizeLogo WidthUse Case
Small (phones)80-100dpDefault for most apps
Medium (tablets)120-150dpLarger screens
Large (branding)150-200dpBrand-focused apps

Resolution Requirements

iOS Asset Resolutions

logo.png     (1x)  - 100 x 100 px
logo@2x.png  (2x)  - 200 x 200 px
logo@3x.png  (3x)  - 300 x 300 px

Android Density Buckets

drawable-mdpi/logo.png    (1x)   - 100 x 100 px
drawable-hdpi/logo.png    (1.5x) - 150 x 150 px
drawable-xhdpi/logo.png   (2x)   - 200 x 200 px
drawable-xxhdpi/logo.png  (3x)   - 300 x 300 px
drawable-xxxhdpi/logo.png (4x)   - 400 x 400 px

Asset Generation

Using the CLI Tool

The react-native-bootsplash CLI automates asset generation:

Prepare Your Source Image

  • Use the highest resolution version available
  • PNG format with transparency (if needed)
  • Square aspect ratio works best
  • Minimum 1024x1024px recommended

Run the Generator

npx react-native-bootsplash generate \
  --assets-path=assets/splash \
  --background-color="#FFFFFF" \
  --logo-width=100 \
  --flavor=main \
  path/to/your/logo.png

Verify Generated Assets

Check the output directory for:

  • iOS: Multiple resolution variants
  • Android: Density-specific folders
  • Config files for both platforms

CLI Options Explained

--assets-path      # Output directory for generated assets
--background-color # Hex color for splash background
--logo-width       # Base width in dp (iOS) / dp (Android)
--flavor           # Build flavor for white-label apps
--platforms        # Target platforms (ios, android, or both)
--dark-mode        # Generate dark mode variants

Dark Mode Support

Dark Mode Considerations

Many users prefer dark mode. Supporting it in your splash screen:

  • Provides consistency with system preferences
  • Reduces eye strain in low-light conditions
  • Shows attention to detail

Implementation Strategies

Adaptive Logo Design

Create logos that work on both light and dark backgrounds:

# Generate with transparent background
npx react-native-bootsplash generate \
  --assets-path=assets/splash \
  --logo-width=100 \
  path/to/adaptive-logo.png

Design tips:

  • Use colors that contrast well on both backgrounds
  • Add subtle outlines or shadows
  • Test visibility on various backgrounds

Platform Implementation

iOS Dark Mode

<!-- In BootSplash.storyboard -->
<!-- Use system background color that adapts -->
<color key="backgroundColor" systemColor="systemBackgroundColor"/>

Android Dark Mode

<!-- values/colors.xml -->
<color name="bootsplash_background">#FFFFFF</color>
 
<!-- values-night/colors.xml -->
<color name="bootsplash_background">#000000</color>

Optimization Techniques

Image Optimization

Compress PNG Files

Use tools to reduce file size without quality loss:

# Using imagemin
npm install -g imagemin-cli imagemin-pngquant
imagemin assets/splash/*.png --out-dir=assets/splash/optimized

Convert to WebP (Android)

For Android, WebP provides better compression:

# Using cwebp
cwebp -q 90 logo.png -o logo.webp

Validate File Sizes

Ensure optimized assets are reasonable:

  • Individual images: < 100KB
  • Total splash assets: < 500KB
  • Test loading performance

Vector Optimization

For vector assets (SVG):

# Using SVGO
npm install -g svgo
svgo input.svg -o output.svg
 
# Common optimizations
svgo input.svg \
  --enable=removeViewBox \
  --enable=removeTitle \
  --enable=convertColors \
  -o output.svg

Testing Your Assets

Visual Testing Checklist

  • Logo is clearly visible on all backgrounds
  • No pixelation on high-density screens
  • Proper scaling on different screen sizes
  • Dark mode variants display correctly
  • Loading time is acceptable (< 0.5s)
  • No visual artifacts or compression issues

Device Testing Matrix

Test on these key devices:

PlatformDevice TypeScreen SizeDensity
iOSiPhone SE4.7"@2x
iOSiPhone 14 Pro6.1"@3x
iOSiPad Pro12.9"@2x
AndroidPixel 4a5.8"xxhdpi
AndroidGalaxy S236.1"xxxhdpi
AndroidGalaxy Tab10.1"xhdpi

Common Issues and Solutions

Issue: Logo appears blurry or pixelated

Solutions:

  • Start with higher resolution source (min 1024x1024)
  • Use vector formats when possible
  • Ensure correct density assets are generated
  • Check image scaling method (use "contain" not "stretch")
  • Verify no compression artifacts

Best Practices Summary

Asset Creation Checklist

  1. ✅ Design simple, brand-focused splash screens
  2. ✅ Use high-resolution source images (1024x1024+)
  3. ✅ Generate all required density variants
  4. ✅ Support both light and dark modes
  5. ✅ Optimize file sizes without quality loss
  6. ✅ Test on real devices across platforms
  7. ✅ Keep total asset size under 500KB

Tools and Resources

Design Tools

  • Figma/Sketch: Design and export assets
  • Adobe Illustrator: Vector logo creation
  • Affinity Designer: Alternative vector tool

Optimization Tools

  • ImageOptim: Mac image optimization
  • TinyPNG: Online PNG compression
  • SVGO: SVG optimization

Testing Tools

  • Xcode Simulators: iOS device testing
  • Android Emulators: Android device testing
  • Device farms: Real device testing

Next Steps