---
title: "Blank white screen after deploy"
description: "A blank white screen after deploy means the app script failed to load or crashed. How to check the console, fix the path or missing variable and redeploy."
url: https://whocanfixmyapp.com/problems/blank-white-screen-after-deploy
---

[Home](https://whocanfixmyapp.com/) / [Problems](https://whocanfixmyapp.com/problems) / [Deploy and go live](https://whocanfixmyapp.com/problems#deploy-and-go-live)

# Blank white screen after deploy

VC-17 · Vercel · Netlify · Lovable · Bolt · Updated October 2026 · By [Nathaniel Kelley](https://whocanfixmyapp.com/authors/nathaniel-kelley)

Quick verdict

Partly fixable yourself. The browser console names the cause in a minute.

- **How serious**: High
- **Fix it yourself?**: Partly, some steps need a developer
- **Typical cost**: €99–$990 for a single fix ([prices](https://whocanfixmyapp.com/pricing))
- **Top rated for Lovable**: [Afterbuild Labs](https://whocanfixmyapp.com/companies/afterbuild-labs) · **10.0**/10

**What you see.** The deploy says success, but the live URL shows an empty white page with nothing on it.

## Why it happens

A white screen means the HTML loaded but the JavaScript that draws your app did not run. Three things cause almost every case. First, the browser could not find the script files, because the app was built for a different path than it is served from. Vite controls this with the `base` option. Second, the script loaded but crashed on its first line, most often because a value it needs was missing at build time. Front-end variables such as `NEXT_PUBLIC_` keys are baked in during the build, so a missing one becomes undefined and the app throws.

Third, an old copy of the page in a browser or CDN cache points at hashed file names that no longer exist after the new deploy. Netlify's docs describe this as an Uncaught SyntaxError after deploy. Lovable adds a fourth: the live site is a snapshot, so unpublished changes never reach it.

## Fix it yourself

1. Open the live site and press `F12`, or `Cmd+Option+J` on a Mac. Read the first red line in the Console tab. It names the cause.
2. If scripts show 404 in the Network tab, the path is wrong. For Vite apps set `base` in `vite.config` to `/` or the folder you deploy under, rebuild and redeploy.
3. If the error mentions undefined or cannot read properties, a build-time variable is missing. Add it in **Settings → Environment Variables** on Vercel or **Project configuration → Environment variables** on Netlify, then redeploy.
4. If it says Unexpected token, hard refresh and test in a private window. If it works there, clear the cache or set cache headers on `index.html`.
5. In Lovable, open the Publish dialog and click **Publish changes** if the button shows a dot. In Bolt, restore the last working version if the screen went white after one prompt.

## When to get an engineer

Hire when the console error points into your code rather than a path or variable, when the white screen appears only for signed-in users, or when the fix needs a config change you cannot test. Send a screenshot of the Console and Network tabs, the host and the time of the last deploy. A single fix is €99–$990 and takes about 2 days. Also read [works in preview, breaks on the live site](https://whocanfixmyapp.com/questions/works-in-preview-breaks-on-the-live-site).

## Top-rated companies for Lovable apps

Ranked by our score: published prices, scope of work, AI tools named, timing and a low-risk first step. [How we score](https://whocanfixmyapp.com/methodology#score).

- 1 · [Afterbuild Labs](https://whocanfixmyapp.com/companies/afterbuild-labs) · **10.0**/10 · Best for: A check before launch · Free first step · from $49
- 2 · [Redlab](https://whocanfixmyapp.com/companies/redlab) · **10.0**/10 · Best for: A full rescue by one team that keeps building · Free first step · from $490
- 3 · [Vibe Code Rescue (Lev Arakelyan)](https://whocanfixmyapp.com/companies/vibe-code-rescue-lev-arakelyan) · **9.0**/10 · Best for: A one-off check and a cleanup · From $299

[All 59 Lovable companies, ranked](https://whocanfixmyapp.com/best/lovable-developers)

## Check these

OPS-04 · Medium

Secrets live in the host's environment settings

Keys belong in environment variables on the server, not in the repository or in front-end code.

OPS-03 · High

Errors reach you before users do

Add error monitoring and uptime alerts. If you learn about outages from customers, this is missing.

COST-03 · Medium

Key pages load fast on a phone

Run PageSpeed Insights on the home page and the main app screen, on mobile.

DATA-02 · Critical

No secret keys reach the browser

Open your live app, then DevTools, Sources, and search the loaded JavaScript for `sb_secret_`, `sk_live_`, `sk-proj-` and `sk-ant-`. Older Supabase keys are long tokens starting with `eyJ`: decode the middle part of each on your own machine, and if it contains `"role":"service_role"`, your secret key is public. A publishable or anon key in the browser is expected.

## Questions

### Why does the preview work but the live site is blank?

The preview runs a development build with your local variables. The live site runs the production build with the host's variables and a fixed base path, so missing values and wrong paths only show there.

### Will a redeploy fix it?

Only if the cause was a stale cache or a variable you have since added. A wrong base path or a crash in the code comes back on every deploy until fixed.

Sources: [Vite: Building for production](https://vite.dev/guide/build); [Netlify: JavaScript SPAs](https://docs.netlify.com/build/configure-builds/javascript-spas/); [Vercel: How to add environment variables](https://vercel.com/kb/guide/how-to-add-vercel-environment-variables); [Lovable: Publish your project](https://docs.lovable.dev/features/publish).

**Lovable guide**

What Lovable builds, where it breaks and how to check it: [Lovable app rescue: what breaks and how to check it](https://whocanfixmyapp.com/guides/lovable).

**Same category**

- [Lovable app not working: what breaks between preview and production](https://whocanfixmyapp.com/problems/lovable-app-not-working)
- [Base44 app not loading or stuck on Thinking: what it usually means](https://whocanfixmyapp.com/problems/base44-app-not-loading)
- [v0 app needs a backend and deployment: what to add before real users](https://whocanfixmyapp.com/problems/v0-app-needs-a-backend)
- [Claude Code or Cursor app works on localhost, breaks in production](https://whocanfixmyapp.com/problems/claude-code-works-on-localhost-breaks-in-production)
- [Lovable publish fails with a build error](https://whocanfixmyapp.com/problems/lovable-publish-failed-build-error)
- [Lovable custom domain stuck on Verifying or Setting up](https://whocanfixmyapp.com/problems/lovable-custom-domain-stuck-verifying)

[All deploy and go live problems](https://whocanfixmyapp.com/problems#deploy-and-go-live)

**Run every check**

The [production checklist](https://whocanfixmyapp.com/checklist) has all 24 checks with a verdict.
