Auto-imports
WXT modules add auto-imports to simplify configuration.
Background
Bookmarks
Build
Build extensions or start dev mode.
Config Files
Includes app.config.ts, package.json, tsconfig.json, web-ext.config.ts, and wxt.config.ts.
Config Helpers
Helper functions for defining project config.
Content Scripts
Cross-browser Support
First-class support for all major browsers.
Deeply Nested Entrypoints
Default Directories
WXT includes default directories like entrypoints, components, composables, hooks, and utils.
Defining Manifest Options
Developer Experience
Provides an awesome DX for building web extensions.
Devtools
Entrypoint filtering
Include or exclude entrypoints per browser using include/exclude options.
Entrypoint Types
Entrypoints
Env Files
Supports .env and .env.publish for environment variables.
Folder Structure
Generated Config
.wxt/ contains generated TypeScript config.
Hash Mode Routing
Guidance for configuring routers to use hash mode for web extensions.
History
Including Other Files
Manifest Config
Define manifest properties in wxt.config.ts.
Manifest as Function
Generate manifest dynamically based on browser, mode, command.
Manifest version targeting
Target MV2 or MV3 with CLI flags.
Modular packages
Provides optional packages for analytics, icons, i18n, storage, and more.
Multi-browser builds
Build for Chrome, Firefox, and other browsers with commands like 'wxt -b firefox'.
Multi-browser targeting
Build extensions for different browsers using the -b flag.
Multiple Apps Structure
Recommended folder structure for multiple apps in web extensions.
Output Directory
All build artifacts are placed in .output/ by default.
Per-browser options
Customize entrypoint options per browser.
Permissions Management
Manually add permissions to manifest.
Preconfigured Modules
WXT has preconfigured modules for React, Vue, Svelte, and Solid.
src/ Directory Config
Type-safe APIs
Types for building extensions or configuring WXT.
TypeScript support
All templates use TypeScript by default.
Unlisted Entrypoints
Version Management
Derives version and version_name from package.json.
Vite-powered
Leverages Vite for fast development and building.