VERCEL ERRORS

404 NOT_FOUND after a Vercel deploy

The deployment finished but the page returns 404: NOT_FOUND. Check the URL, the build output, the Output Directory, the Root Directory and the domain.

404: NOT_FOUND

What it means

Vercel documents NOT_FOUND as an error that occurs when a requested resource could not be found. The resource may have been moved or deleted, or the URL may contain a typo.

How to fix it

  1. Check the URL for typos or wrong paths. This matters most for generated deployment URLs, which contain a unique hash.
  2. Open the deployment list and confirm the deployment succeeded, was not deleted, and is the one you are visiting.
  3. Open the deployment, choose the Source tab and inspect the Output. The file your framework uses as the homepage must be present, usually index.html at the root of the output.
  4. Check capitalization. A file named Index.html should be renamed to index.html and redeployed.
  5. Review the Framework Preset, Build Command, Output Directory and Root Directory in the project settings. Only the contents of the Output Directory are served statically.
  6. For a single-page app that routes on the client, add a rewrite so every path reaches the router.
  7. Confirm the domain is added to the project and shows a valid configuration. If your team restricts access by Trusted IPs, a visit from another IP address also returns 404.
{
  "rewrites": [{ "source": "/(.*)", "destination": "/" }]
}

What a DeployDoctor scan can check

A scan can report a Next.js app that declares next but has no app/ or pages/ route folder, and build configuration problems such as a missing build script. It cannot see which domain is assigned to which deployment, your team's access settings, or the Output Directory saved in your Vercel project.

Sources

Documentation last checked 2026-10-28. Vercel can change its documentation; confirm against the linked pages.