Not found errors
Vercel shows “404: NOT_FOUND” on your deployed site
The build finished without errors, but the site shows “404: NOT_FOUND”, on every page or on some.
Checked 16 October 2026
The short answer
Check the Framework Preset and Output Directory first: if they don't match your project, Vercel serves an empty or wrong folder. For a single-page app, add a rewrite to index.html.
Find your cause
5 causes, most likely first
- 1
The Framework Preset is wrong, or set to Other
How to tell: Every page gives 404, though the build log looks fine.
Fix
Pick your framework in the settings below, then redeploy.
Settings→Build and Deployment→Framework Settings
- 2
The Output Directory doesn't match the build
How to tell: The deployment's Output tab doesn't show your index.html.
Fix
Set Output Directory to the folder your build creates (dist, build, out, public), then redeploy.
- 3
A single-page app without a rewrite
How to tell: The home page works; refreshes and direct links fail.
Fix
Add a
vercel.jsonat the repository root and commit it:vercel.json { "rewrites": [{ "source": "/(.*)", "destination": "/index.html" }] } - 4
The project is in a subfolder of the repository
How to tell: Your repository holds more than one project.
Fix
Set Root Directory to the project's folder in the same build settings.
- 5
Only your own domain gives the 404
How to tell: The .vercel.app address works; your domain doesn't.
Fix
Then it's the domain, not the build: check the DNS records and remove old ones from a previous host.
Questions
Also asked
Should I use the rewrite with Next.js, Nuxt or SvelteKit?
No. Those frameworks handle their own routes on Vercel; the catch-all rewrite is for plain single-page apps such as Vite or Create React App.
Rather skip build settings altogether?
Build on your computer, where it already works, and drop the folder on 99helpers. The site gets its own address, so there's no base path, workflow or build log to get wrong, and it's online in seconds.
Or skip the setup
Drop it in. It's online in seconds.
A file, a folder or a whole site: 99helpers puts it online at its own address, with no git, no build settings and no DNS to start with. Add your own domain whenever you're ready.