Plasmo is a browser extension framework that provides a complete SDK for building extensions across Chrome, Firefox, Edge, and other browsers.
The framework addresses the complexity of browser extension development by abstracting away manifest configuration and build tooling. Rather than manually managing manifest files and bundler setup, developers write React or TypeScript components that Plasmo compiles into properly structured extensions. The tool handles content script UI rendering, background service workers, tab pages, and messaging between extension components through declarative APIs. It includes live-reloading with React hot module replacement, environment variable support, a storage API for extension state, and remote code bundling for third-party scripts like analytics.
Plasmo suits teams building extensions who want to move quickly without wrestling with browser extension quirks and configuration. It works well for projects targeting multiple browsers simultaneously, since the framework handles building for different manifest versions and browser APIs. The tool is particularly valuable if your team already uses React and TypeScript in other projects, as it brings familiar patterns to extension development. Optional support for Svelte and Vue is available through separate templates for teams preferring those frameworks.
The project maintains active engagement with its community through regular live demonstrations and maintains a public Discord server for support. Development activity shows consistent attention to both core framework improvements and ecosystem expansion through example projects and integrations.