consolelog.tools

Splash Screen Generator

Generate splash screens for iOS and Android — and the correct apple-touch-startup-image <link> tags. Most generators emit media queries that never match because they guess the device pixel ratio; this tool uses a per-device table of logical CSS points and real -webkit-device-pixel-ratio values (the only combination Safari will load), then renders the matching PNGs in your browser.

About this ToolHow it works, benefits & use cases

Most splash-screen generators hand you apple-touch-startup-image link tags that never actually load. The reason is subtle: Safari only uses a startup image when its media query matches the device exactly - the logical device-width and device-height in CSS points, the real -webkit-device-pixel-ratio (which is 2 on some iPhones and iPads, not a blanket 3), and the orientation. Naive tools divide the physical pixels by three for every device, producing media queries that resolve on nothing, so users see a blank flash on launch. This tool is built around a maintained per-device table covering the modern iPhone and iPad lineup (SE, mini, standard, Plus/Max, Pro/Pro Max, plus iPad mini/Air/Pro), so every tag carries the correct points, pixel ratio, and orientation. Pick a background color, optionally upload a logo, set its scale and position, choose iOS and/or Android, and select portrait, landscape, or both. A live phone preview reflects your choices, a generation plan shows exactly how many images each platform needs, and the headline output is the copy-ready block of correct apple-touch-startup-image tags. For Android, it emits the manifest background_color and theme_color, since Android 12+ draws the splash from the SplashScreen API rather than a full-bleed image. PNGs are rendered right in your browser via canvas - nothing is uploaded.

How to Use

  1. 1Set a background color with the picker or hex field, then optionally upload a logo (PNG with transparency works best).
  2. 2Adjust the logo scale (10 to 80 percent of the shorter edge) and position (center, top, or bottom).
  3. 3Choose your targets: iOS for apple-touch-startup-image tags, Android for manifest colors, or both.
  4. 4Pick the orientation coverage you need - portrait only, landscape only, or both - and watch the plan count update.
  5. 5Copy the apple-touch-startup-image link tags into your <head>, then click Generate to render and download the matching PNGs.

Key Benefits

  • Correct apple-touch-startup-image media queries using CSS points, the real device-pixel-ratio, and orientation
  • Maintained per-device table for modern iPhones (SE through 16 Pro Max) and iPads (mini, Air, Pro)
  • Live phone preview reflecting background, logo scale, and logo position
  • Generation plan showing exactly how many images iOS and Android each require
  • Modern Android 12+ guidance: manifest background_color and theme_color instead of full-bleed images
  • Canvas-rendered PNGs produced entirely in the browser - no uploads, fully private
  • Shareable URL captures the whole configuration, plus a configuration checklist that flags oversized logos and missing platforms

Common Use Cases

  • Shipping a Progressive Web App that needs a proper launch screen on every iPhone and iPad
  • Replacing broken startup-image tags whose media queries never matched real devices
  • Generating both portrait and landscape splash assets for a tablet-oriented PWA
  • Setting up the correct manifest splash colors for an Android 12+ installed web app
  • Producing on-brand splash PNGs from a logo and background color without opening a design tool

Live preview

Correct media queries (CSS points + real DPR + orientation)

<link rel="apple-touch-startup-image" href="/apple-splash-iphone-se-2nd-3rd-gen-6-7-8-portrait.png" media="(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)">
<link rel="apple-touch-startup-image" href="/apple-splash-iphone-6-7-8-plus-portrait.png" media="(device-width: 414px) and (device-height: 736px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)">
<link rel="apple-touch-startup-image" href="/apple-splash-iphone-13-mini-12-mini-11-pro-xs-x-portrait.png" media="(device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)">
<link rel="apple-touch-startup-image" href="/apple-splash-iphone-11-xr-portrait.png" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)">
<link rel="apple-touch-startup-image" href="/apple-splash-iphone-11-pro-max-xs-max-portrait.png" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)">
<link rel="apple-touch-startup-image" href="/apple-splash-iphone-14-13-13-pro-12-12-pro-portrait.png" media="(device-width: 390px) and (device-height: 844px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)">
<link rel="apple-touch-startup-image" href="/apple-splash-iphone-14-plus-13-pro-max-12-pro-max-portrait.png" media="(device-width: 428px) and (device-height: 926px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)">
<link rel="apple-touch-startup-image" href="/apple-splash-iphone-16-15-15-pro-14-pro-portrait.png" media="(device-width: 393px) and (device-height: 852px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)">
<link rel="apple-touch-startup-image" href="/apple-splash-iphone-16-plus-15-plus-15-pro-max-14-pro-max-portrait.png" media="(device-width: 430px) and (device-height: 932px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)">
<link rel="apple-touch-startup-image" href="/apple-splash-iphone-16-pro-portrait.png" media="(device-width: 402px) and (device-height: 874px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)">
<link rel="apple-touch-startup-image" href="/apple-splash-iphone-16-pro-max-portrait.png" media="(device-width: 440px) and (device-height: 956px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)">
<link rel="apple-touch-startup-image" href="/apple-splash-ipad-mini-ipad-9th-gen-portrait.png" media="(device-width: 768px) and (device-height: 1024px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)">
<link rel="apple-touch-startup-image" href="/apple-splash-ipad-10th-gen-ipad-air-10-9-portrait.png" media="(device-width: 820px) and (device-height: 1180px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)">
<link rel="apple-touch-startup-image" href="/apple-splash-ipad-pro-11-portrait.png" media="(device-width: 834px) and (device-height: 1194px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)">
<link rel="apple-touch-startup-image" href="/apple-splash-ipad-pro-12-9-portrait.png" media="(device-width: 1024px) and (device-height: 1366px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)">

Generation plan

15
iOS images
Android images
15
Total
Configuration looks good

Appearance

Logo (optional)

PNG with transparency works best. Used to render the downloadable PNGs in your browser.

%

Targets

PNGs are rendered entirely in your browser via canvas — nothing is uploaded.

Why most startup-image tags never match

Safari only loads an apple-touch-startup-image when its media query matches the device exactly: the logical device-width/device-height in CSS points, the real -webkit-device-pixel-ratio (2 or 3, not a blanket 3), and the orientation. Naive generators divide the physical pixels by 3 for every device, so the query never resolves and you get a blank flash on launch. This tool uses a maintained per-device table so each tag is correct.

Android 12 changed everything

Since Android 12 the OS draws the launch screen from the SplashScreen API — a themed window background plus your adaptive icon — instead of a full-bleed image. So for Android you mainly need the right background_color and theme_color in your manifest, which this tool emits for you.

Was this tool helpful?

Share Your Experience

Help others discover this tool!

Related tools