Free Tool

Loading Screen Builder

Design a seamless full-screen loading experience that bridges the gap between your PWA's native OS splash screen and the moment your JavaScript framework actually boots up.

Configuration
Live Preview

App Loaded! 🎉

Your Javascript framework has successfully mounted.

1. HTML & CSS (Put in index.html)
2. Javascript (Trigger when App mounts)

About PWA Loading Screens

Why do I need a loading screen?

When a user launches an installed PWA from their home screen, the OS (iOS or Android) shows a native splash screen based on your Web App Manifest. However, the exact moment the browser engine loads, the native splash screen vanishes. If your React, Vue, or Angular bundle hasn't finished executing yet, the user is suddenly staring at a blank white screen. A full-screen CSS loading screen bridges this gap seamlessly.

Where exactly do I put the loading screen HTML and CSS?

Place the generated CSS directly into a <style> tag in the <head> of your index.html. Place the HTML snippet directly inside the <body>, placing it exactly adjacent to your main framework mount point (e.g., right next to <div id="root"></div>).

How do I hide my loading screen once my app is ready?

The CSS includes a .hidden class that fades the loader out and removes pointer events. You just need to execute the provided JavaScript snippet (document.getElementById('pwa-loader').classList.add('hidden');) inside your framework's primary "on mount" lifecycle hook (like useEffect in React, or onMounted in Vue). If your app still hasn't fully loaded, you can then use shimmer placeholder skeletons.

Your app here

Need more than loading screens?

Progressier automatically configures your manifest, service worker, icons, and splash screens.

Generate PWA See plans