Skip to content

Introduction

What is WebExtend?

WebExtend is a build tool that helps you make web extensions using modern web technology.

Why WebExtend?

Since there have been some similar tools for web extension development today, such as Plasmo, WXT, CRXJS etc, why should you select WebExtend?

These tools might have some of these problems as follows.

  • No support for content_scripts HMR. Each code change requires page refresh, causing states missing.
  • Complex APIs.

Main Features

📝 Declarative Entrypoints

WebExtend automatically parses entries based on the file system, reducing manifest.json configuration burden.

See entrypoints.

⚡️ Seamless Development Experience

WebExtend supports instant HMR for popup/options/content_scripts..., automatic browser opening and extension running.

🧭 Multi-Browser Support

WebExtend automatically handles manifest.json configuration differences for easy multi-browser support.

See browser support.

🛠️ ESM & TypeScript Support

ESM and TypeScript work out of the box, no extra configuration needed.

✈️ Framework Agnostic

Freedom to use any frontend framework or library, for example:

  • React
  • Vue
  • Svelte
  • CSS Modules
  • Tailwind CSS
  • UnoCSS
  • Auto Import
  • ...

🚀 Lightning Fast Performance

Powered by Rsbuild for extremely fast development and building.

See Rsbuild.

💪 Scaffold Support

WebExtend provides a CLI tool that helps you create a project quickly and generate entry files automatically.

See web-extend.

Pre-Requisite Knowledge

Before getting start, you should know basic knowledge about web extension development.

Released under the MIT License.