A next-generation framework for building web extensions with TypeScript, HMR, and support for all major browsers.
WXT is a next-generation framework for developing web extensions that simplifies the entire development lifecycle. It provides a comprehensive toolchain with features like hot module replacement, TypeScript support, and cross-browser compatibility, addressing the complexity of building and maintaining browser extensions. The framework is designed to be fast, modular, and adaptable to various frontend technologies.
Developers and teams building browser extensions for Chrome, Firefox, Safari, or other browsers, especially those looking for a modern, type-safe development experience with support for both MV2 and MV3 manifests.
WXT offers a unified, framework-agnostic approach to web extension development with out-of-the-box tooling that reduces configuration overhead. Its emphasis on developer experience—through features like HMR, auto-imports, and a module system—sets it apart from manual setup or less integrated alternatives.
⚡ Next-gen Web Extension Framework
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Works with Chrome, Firefox, Safari, and others from a single codebase, eliminating the need for browser-specific builds as highlighted in the features.
Supports both Manifest V2 and MV3, ensuring extensions remain compatible during the transition period, a key selling point in the README.
Hot Module Replacement and fast reload in dev mode speed up iteration, making it feel like modern web app development rather than manual extension reloads.
Built-in TypeScript support provides type safety, and auto-imports reduce boilerplate, improving code quality and productivity as emphasized in the features.
Requires Node.js and a build process, adding complexity and setup time compared to simple, script-based extension development that doesn't need compilation.
While it simplifies extension development, WXT introduces its own file-based entrypoints and module system, which can be confusing for those used to manual manifest editing.
The comprehensive toolchain, including bundle analysis and automated publishing, might be excessive for very small extensions, leading to unnecessary dependencies and configuration.