# WXT

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

https://topboilerplates.com/wxt

Framework: Vite | Pricing: Free | GitHub stars: 10396

## Verdict

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.

## Description

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 and cons

+ 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

- 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

## Stack

- TypeScript

## Links

- Website: https://topboilerplates.com/go/wxt
- GitHub: https://github.com/wxt-dev/wxt

## Alternatives

- [Plasmo](https://topboilerplates.com/plasmo)
- [Extension.js](https://topboilerplates.com/extension-js)
