🔧 Control

Use any UI framework (React, Vue, Svelte, Solid, ...) and any tool you want (Vuex/Redux/Storeon, RPC/GraphQL/REST, React/Vue Query, PWA, Service Workers, other Vite plugins, ...).

With vite-plugin-ssr, you integrate tools manually and keep architectural control.

📦 Zero-config

vite-plugin-ssr gives you control only where it matters.

Everything else just works without the need to configure/decide anything.

💫 Simple

With vite-plugin-ssr, you integrate tools manually instead of using a plugin system. While it means more work, it gives you a fundamentally simpler & more stable foundation to build upon.

The clean cut between vite-plugin-ssr and your UI framework (React/Vue/...) makes reasoning about your app easier.


Filesystem Routing, Data fetching, Pre-rendering (SSG), HMR, i18n, Link Prefetching, HTML Streaming.

Client Routing (fast page navigation) or Server Routing (simple architecture).

All render modes: SSR, SPA, SSG, HTML-only. Each page can use a different mode.

🌍 Deploy anywhere

Works with any server environment (Vercel, Cloudflare Workers, AWS EC2, AWS Lambda, Firebase, Google Cloud, ...).

Pre-render your app and deploy it to any static host (Netlify, GitHub Pages, Cloudflare Pages, ...).

Fits Cloudflare Workers's small worker size requirement like a glove.

💎 Rock-solid

The source code of vite-plugin-ssr has no known bug, every release is assailed against a heavy suite of automated tests, it's used in production by many comp­anies, and it's stable: the v1 release will most likely have no breaking change with the current v0.3.x releases.

🚀 Scalable

DX that scales to hundreds of kLOCs — HMR & dev start stays fast.

Architectural flexibility that scales from small hobby projects to large-scale enterprise projects.


Browser-side: Code Splitting (each page loads only the code it needs), Client Routing (pages loaded & rendered only on the browser-side upon page navigation), Link Prefetching (preload preponderant links for instantaneous page navigation), Lighthouse Score: 100%.

Fast Node.js cold start: pages are lazy-loaded so that adding pages doesn't increase the cold start of your serverless functions.

💖 Fun

vite-plugin-ssr is simple, clear, and robust: no magic, no unexpected behavior, no conflation, no bugs (known in vite-plugin-ssr's source code), no breaking changes (as far as we can see).

With vite-plugin-ssr, you are under control; it's addictively fun.

Framework Engine

Use vite-plugin-ssr to build frameworks.

You want to build an internal framework for your company? Or you want to build a Next.js alternative? Use vite-plugin-ssr to jump-start with a rock-solid foundation.


Crafted with attention to details and care for simplicity.

Upsteam contributions to Vite and others.

GitHub and Discord conversations are welcome.

Cutting Edge

We regularly participate in RFCs and we are usually among the first to support the latest techniques.

Have a question? Want a feature? A tool integration is not working? Join our Discord or open a GitHub ticket.

Explore how it's like to use vite-plugin-ssr