WXT
Vite-powered browser extension framework with file-based routing and Nuxt-style auto-imports

- Best for
- Developers who want Vite's dev experience for extension work and need to target Chrome, Firefox, and Safari from one codebase without hand-writing manifest.json.
- Skip if
- You're locked into Plasmo's React-first APIs already, or you need a hosted build/publish service rather than a self-managed CLI framework.
WXT is an open-source, Vite-based framework for building browser extensions across Chrome, Firefox, Edge, and Safari from a single codebase. It auto-generates the manifest from a file-based entrypoints folder, supports Manifest V2 and V3 side by side, and layers on hot module replacement, TypeScript-first tooling, and a module system for sharing code between extension parts. It's framework-agnostic, so React, Vue, Svelte, or vanilla TypeScript all plug in through Vite's plugin ecosystem.
Pros
- File-based entrypoints auto-generate the manifest instead of hand-editing manifest.json
- Works with any Vite-supported frontend framework, not just one
- Targets Manifest V2 and V3, and Chrome/Firefox/Edge/Safari, from the same source
- MIT-licensed and actively maintained with frequent commits
Cons
- No official hosted publish/CI service - you wire up your own store submission pipeline
- Younger project than some alternatives, so framework-specific extension recipes are still growing
- Documentation assumes some familiarity with Vite's plugin model
Alternatives

Plasmo
React-first browser extension framework with built-in messaging, storage, and CSUI helpers

Extension.js
Zero-config CLI framework for building one extension codebase that ships to Chrome, Firefox, Edge, and Safari