Vite
The dev server and build tool most JavaScript frameworks now build on: native ES modules with instant HMR while you code, a Rolldown bundle for production.
- What it is
- Bundlers and dev servers
- Type
- Open source
- Made by
- Vite team (VoidZero, now part of Cloudflare)
- License
- MIT
- Facts checked
- 9 October 2026
What it is
Vite (French for “fast”) splits the work of a build tool in two. In development it pre-bundles your dependencies once, then serves each of your own files as a native ES module when the browser asks for it, transforming TypeScript, JSX or Vue files on the fly. Start-up doesn’t wait for the whole app to be bundled, and when you save a file, hot module replacement swaps that one module in the page without a reload. For production, vite build bundles the app with code splitting, tree shaking, minification and hashed file names.
Since Vite 8 (March 2026) one Rust bundler, Rolldown, does both jobs, replacing the earlier pair of esbuild in development and Rollup in production; Rolldown in turn uses Oxc to parse, transform and minify. Plugins follow Rollup’s plugin API with extra Vite hooks, which is why frameworks such as Nuxt, SvelteKit, Astro and React Router, and tools such as Vitest and Storybook, are built on it. Vite is maintained by a core team from several companies; the members employed by VoidZero moved to Cloudflare when VoidZero joined it in June 2026, and Vite stays MIT-licensed and vendor-neutral.
Why teams pick it
- The dev server starts almost at once whatever the app’s size, and HMR keeps component state while you edit
- One pipeline from development to production since Vite 8; Linear reported production builds dropping from 46 s to 6 s
- The plugin API follows Rollup’s conventions, and
vite-ecosystem-citests major frameworks against every Vite change - The Environment API lets frameworks add their own targets (edge runtimes, service workers) beside the browser and SSR
Watch out for
- Very large apps load thousands of separate modules in development, which slows full reloads; the bundled dev mode that fixes this is still experimental (Vite 8.1) and not every plugin supports it
- It strips TypeScript types without checking them; run
tscor a type-aware linter separately - Vite 8 changed the bundler underneath: most plugins work unchanged, but some options and plugins needed migrating from esbuild and Rollup
- Needs Node.js 20.19+ or 22.12+, because Vite is published as ES modules only
Alternatives
What all bundlers and dev servers have in common →How it fits with other technologies
See it in a real stack
No architecture uses Vite yet. Drop it into the playground and wire it up yourself.Open playground →Where it came from2020–2026
As front-end apps grew, bundle-based dev servers took longer and longer to start and to show an edit. Evan You, the creator of Vue, saw that browsers had just gained wide support for loading ES modules natively, and began Vite in 2020 as a hacky prototype that served Vue single-file components over native ESM; Vite 1 added hot module replacement on top. Vite borrowed from earlier experiments: Snowpack’s unbundled development and dependency pre-bundling, and the Preact team’s WMR, whose plugin API worked in both development and build.
Vite 2.0 (February 2021) was a rewrite: framework-agnostic, with plugins extending Rollup’s interface, and esbuild, a Go bundler, pre-bundling dependencies 10 to 100 times faster than before. Frameworks adopted it as their build layer. That success exposed a seam: two bundlers meant two transformation pipelines, two plugin systems and glue code to keep them in step.
To close it, Evan You founded VoidZero in 2024 to build Rolldown and the Oxc compiler toolchain underneath it. After a rolldown-vite preview (May 2025) and a beta (December 2025), Vite 8 shipped in March 2026 with Rolldown as its only bundler, at 65 million downloads a week; by June the figure passed 100 million. That month VoidZero joined Cloudflare, which pledged to keep Vite open source and vendor-neutral and set up a $1 million fund for its ecosystem.
Why it’s built this way
- Serve source files as native ES modules in development
- Bundling everything before the first page load got slower as apps grew. Serving each file on request made start-up nearly independent of app size; production stays bundled, because nested imports cost a network round trip each.
- Pre-bundle dependencies with a native tool
- Some packages ship hundreds of internal modules (
lodash-eshas over 600) or only CommonJS. Bundling them once into ES modules, first with esbuild, now with Rolldown, keeps requests down and makes CommonJS importable. - Extend Rollup’s plugin interface
- Inspired by WMR, Vite 2 made plugins Rollup-compatible with extra Vite hooks, so many Rollup plugins worked out of the box and one plugin covered both development and build.
- Replace esbuild and Rollup with one Rust bundler
- Two pipelines produced edge cases where development and production behaved differently. Rolldown keeps Rollup’s plugin API at esbuild-like speed, so Vite 8 runs one pipeline end to end.
Timeline
- 2020
Evan You creates Vite as an unbundled dev server for Vue
- 2021
Vite 2.0: framework-agnostic, Rollup-style plugins, esbuild pre-bundling
- 2024
VoidZero founded to build Rolldown and Oxc for Vite
- 2025
rolldown-vitetechnical preview (May) and Vite 8 beta (December) - 2026
Vite 8 makes Rolldown its only bundler (March); VoidZero joins Cloudflare (June)
- Vite docs: Why Vite (origins, Snowpack, WMR, unified toolchain)
- Vite blog: Announcing Vite 2.0 (Feb 2021)
- Evan You (VoidZero): Announcing VoidZero (created Vite in 2020, Oct 2024)
- Evan You (VoidZero): Announcing Rolldown-Vite (May 2025)
- Vite blog: Vite 8.0 is out! (Mar 2026)
- Evan You (VoidZero): VoidZero is joining Cloudflare (June 2026)
- Vite blog: Cloudflare supports Vite’s mission (June 2026)
Sources10 · facts checked 9 October 2026
- Vite docs: Why Vite
- Vite docs: Features (HMR, TypeScript transpile only)
- Vite docs: Dependency pre-bundling
- Vite docs: Building for production
- Vite blog: Announcing Vite 2.0 (the name, Feb 2021)
- Vite blog: Vite 8.0 is out! (Rolldown, Linear build times, Node.js requirements, Mar 2026)
- Vite blog: Vite 8.1 is out! (experimental bundled dev mode, June 2026)
- Vite blog: Cloudflare supports Vite’s mission (June 2026)
- VoidZero: Announcing Rolldown 1.0 (most Vite plugins work on Vite 8, May 2026)
- Evan You (VoidZero): Announcing Rolldown-Vite (Oxc replaces esbuild for transforms and minification, May 2025)