Next.js static export

Deploy
Next.js static sites

Export your Next.js app to plain HTML and deploy it globally without running a Node.js server. DeployPages is optimized for output: 'export' workflows.

See the setup guide
next.config.js
/** @type {import('next').NextConfig} */
const nextConfig = {
output: 'export',
// Optional for static deployments
images: { unoptimized: true },
}

module.exports = nextConfig
Static export enabled

~ deploypages publish .

Scanning directory...

βœ“ Uploaded files instantly via edge network

βœ“ Fast, Secure, and Global Delivery


πŸš€ Powered by DeployPages

Why static export is still a strong Next.js path

Keep the framework, drop the server

Static export lets you keep Next.js routing, layouts, and build tooling while shipping plain files to the edge.

That removes server maintenance, cold starts, and most runtime attack surface for content-driven or marketing-heavy sites.

Fast like a static asset

Pre-rendered HTML can be cached aggressively and served directly from edge nodes without waiting on a render server.

Lower operational overhead

No Node runtime means fewer moving parts, simpler deployment artifacts, and less production drift between builds.

Next.js static export checklist

01

Set output: 'export'

Tell Next.js to emit static HTML during build time instead of expecting a running server.

output: 'export'
02

Build and verify /out

Run your production build and confirm the out directory contains the rendered pages you plan to publish.

npm run build
03

Upload and test routes

Upload the out directory, then validate nested paths, static assets, and unoptimized images in the deployed site.

Next.js deployment FAQ

Why does the Next.js Image component fail after export?

The default Image optimization pipeline expects a server. For static export, set images.unoptimized to true in next.config.js.

Do API routes or getServerSideProps work here?

No. Static export removes server-side runtime features such as API routes, middleware, and getServerSideProps. Move that logic to a separate backend or serverless service.

Can I use the App Router?

Yes, as long as the route can be rendered statically and does not depend on dynamic server-only APIs such as headers or cookies.

How should I handle dynamic content?

Fetch it at build time when possible, or load it client-side after the page hydrates. Static export works best when the HTML can be prepared ahead of time.