WXT

WXT

Open Source

The web extension framework built on Vite.

Frontend Frameworks
Browser Extension Frameworks

Published 29 May 2026 · Last updated 27 September 2026

Scores

Popularity3/5

Growing alternative to Plasmo; gaining adoption in the extension development community.

Learning Curve2/5

Supports Vue, React, and Svelte; well-documented; significantly easier than raw extension development.

Flexibility4/5

Any framework (React, Vue, Svelte) with full browser API access and a flexible build pipeline.

Performance4/5

Builds efficient native extension output; performance is comparable to raw extension development.

Portability3/5

Extension-specific; React, Vue, and Svelte skills transfer elsewhere outside extension work.

About WXT

WXT (pronounced "wext") is an open-source framework for building browser extensions on top of Vite. Borrowing Nuxt's conventions, it discovers entrypoints from files, generates the manifest, auto-imports common APIs, and supports TypeScript throughout. It builds for Manifest V2 and V3 and targets Chrome, Firefox, Edge, Safari, and other Chromium browsers from one codebase.

It is framework-agnostic: popups, options pages, and content-script UIs can use React, Vue, Svelte, Solid, or plain TypeScript, with any Vite plugin available. In development WXT opens a managed browser with the extension loaded, hot-reloads UI pages, and quickly reloads background and content scripts when they change.

WXT also covers publishing: it zips builds, uploads them to the Chrome, Firefox, and Edge stores, and produces the source ZIP Firefox requires for review. Built-in storage and i18n helpers, a module system for reusing setup across projects, and remote-code bundling round it out. Messaging between extension contexts is not built in and comes from a small library such as @webext-core/messaging.

WXT is actively maintained, with frequent releases, and has become the common default for new extension projects, especially compared with Plasmo, whose releases have stalled. It is free under the MIT licence. Parts of the documentation are thin, and background service worker changes still trigger a full extension reload rather than true hot replacement.

Key Features

  • Vite-based builds with access to the Vite plugin ecosystem
  • File-based entrypoints with an auto-generated manifest
  • One codebase for Chrome, Firefox, Edge, and Safari, on MV2 or MV3
  • Framework-agnostic: React, Vue, Svelte, Solid, or plain TypeScript
  • Dev mode with a managed browser, HMR for UI pages, and fast script reloads
  • Nuxt-style auto-imports
  • Publishing toolchain: ZIPs, store uploads, and Firefox source ZIPs
  • Module system for reusing build and runtime code

Pros

  • Actively maintained with frequent releases
  • Works with any Vite-compatible UI framework
  • Fast, low-friction development loop with a managed browser
  • Covers publishing end to end, including Firefox source ZIPs
  • Vite builds are fast and compatible with modern tooling

Cons

  • Some documentation sections are incomplete
  • No built-in messaging API; needs a small library or custom code
  • Background service worker changes trigger a full reload
  • Dev mode starts a fresh browser profile unless configured to persist one

WXT Pricing

Open Source

Tech Stacks with WXT

Browser Extension Starter

Project

A beginner-friendly stack for building cross-browser extensions. WXT handles the Manifest V3 boilerplate and cross-browser packaging; a component framework (React by default, with Vue.js and Svelte also available) and TypeScript provide a familiar UI layer; Supabase adds cloud storage and auth if the extension needs a backend.

Frontend

Programming

Databases

Authentication

Frontend Framework:
CI/CD add-on:
Styling add-on:
Analytics add-on:

Tools Related to WXT

Alternatives to WXT(1)

WXT is Vite-based, framework-agnostic, and actively maintained; Plasmo is React-first on Parcel, with built-in messaging and Content Scripts UI but stalled releases. Pick WXT for new extensions, Plasmo mainly where a project already uses it.

Tags

JavaScriptTypeScriptOpen SourceFree TierWeb DevelopmentWebCross-platformComponent-based

Details

License
MIT
Maintained
Yes
Primary language
TypeScript
Domain
Frontend
GitHub stars
10.5k
Stars updated
2026-09-23