Plasmo
FreemiumA browser extension framework built for React and TypeScript.
Published 29 May 2026 · Last updated 27 September 2026
Scores
Popularity3/5
The leading browser extension framework; used by many active extension developers.
Learning Curve2/5
React-based extension framework; familiar to web developers with minimal extra API to learn.
Flexibility3/5
Framework handles manifest and build abstraction; custom background and content scripts supported.
Performance4/5
Builds to native browser extension JS; no runtime overhead beyond browser APIs.
Portability3/5
Browser extension framework with extension-specific API; skills transfer within extension development.
About Plasmo
Plasmo is an open-source framework for building browser extensions, often described as "Next.js for browser extensions." It generates manifest.json from your file structure, gives React and TypeScript first-class support with hot module replacement, and ships built-in APIs for storage and for messaging between the popup, background worker, and content scripts. Running pnpm create plasmo gives a working extension in minutes, without the manual manifest and bundler setup extensions normally need.
Its Content Scripts UI injects React components into web pages with automatic Shadow DOM isolation, so extension styles do not clash with the host page. One codebase builds for Chrome (Manifest V3), Firefox, and Edge, and Vue and Svelte are supported with less polish than React.
Around the framework, the company behind it offers Itero: TestBed distributes beta builds to testers outside store review, and Browser Platform Publisher (also available as a free GitHub Action) automates submission to the Chrome Web Store, Firefox Add-ons, and Edge Add-ons.
The concern is maintenance. The last tagged release dates from May 2025, and the framework depends on the Parcel bundler, which creates friction with newer tooling such as Tailwind CSS v4. WXT, a Vite-based alternative, is the common choice for new projects, while Plasmo remains workable for existing React extensions that already use it. The framework is free under the MIT licence.
Key Features
- Manifest generated from the file structure
- React and TypeScript with hot module replacement
- Content Scripts UI with automatic Shadow DOM isolation
- Built-in storage and messaging APIs across extension contexts
- One codebase for Chrome MV3, Firefox, and Edge
- Browser Platform Publisher GitHub Action for store submission
- Native .env file support
- Itero TestBed for beta distribution outside store review
Pros
- Very fast setup: a working extension with hot reload in minutes
- Strong TypeScript and React developer experience
- Cross-browser builds are close to automatic
- Storage, messaging, and Content Scripts UI are genuinely useful built-ins
- Good documentation for common extension patterns
Cons
- No tagged release since May 2025, which raises long-term maintenance doubts
- Parcel bundler means slower builds and friction with Tailwind CSS v4
- Vue and Svelte support lags React, with full reloads instead of HMR
- Heavy conventions make debugging harder without knowing Plasmo's internals
Plasmo Pricing
Freemium- · Full open-source framework (MIT)
- · Browser Platform Publisher GitHub Action
- · Unlimited local builds and browser targets
- · TestBed: beta distribution to testers outside store review
- · Automated submission to Chrome, Firefox, and Edge stores
- · Paid plans; pricing shown at sign-up
Tools Related to Plasmo
Works well with Plasmo(3)
Plasmo is a browser extension framework built on React — React is its component model; every Plasmo extension is a React app compiled by Plasmo's build system.
Plasmo supports Svelte as a UI component option — Svelte's compile-time approach reduces extension bundle size; less common than React or Vue in Plasmo projects.
Plasmo supports Vue as a UI component option — Vue's progressive framework is available in Plasmo for teams that prefer Vue over React or Svelte for their extension UI.
Required by Plasmo(1)
Plasmo is a TypeScript-first framework for browser extensions.
Alternatives to Plasmo(1)
Plasmo is React-first, built on Parcel, and ships built-in messaging and Content Scripts UI, but its releases have stalled; WXT is Vite-based, framework-agnostic, and actively maintained. Plasmo suits existing React extensions, WXT most new projects.
Vendor
Plasmo
Website →Tags
Details
- License
- MIT
- Maintained
- Yes
- Primary language
- TypeScript
- Domain
- Frontend
- GitHub stars
- 13.2k
- Stars updated
- 2026-09-23