whatisgithub

What is plasmo?

plasmohq/plasmo — explained in plain English

Analysis updated 2026-05-18

13,028TypeScriptAudience · developerComplexity · 3/5Setup · moderate

In one sentence

A TypeScript framework that simplifies building browser extensions for Chrome, Firefox, and other browsers with a modern developer workflow.

Mindmap

mindmap
  root((Plasmo))
    What it is
      Browser extension framework
      TypeScript based
      Developer tooling
    Supported browsers
      Chrome
      Firefox
      Edge
    Benefits
      Manifest handled for you
      Hot reloading
      Structured layout
    Audience
      Web developers
      Extension builders
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Build a Chrome extension without manually writing and maintaining a manifest file

USE CASE 2

Create a browser extension using TypeScript with hot reloading during development

USE CASE 3

Develop a cross-browser extension that targets Chrome and Firefox from a single codebase

What is it built with?

TypeScriptJavaScript

How does it compare?

plasmohq/plasmohotwired/stimulusweb-infra-dev/midscene
Stars13,02813,04113,011
LanguageTypeScriptTypeScriptTypeScript
Setup difficultymoderateeasymoderate
Complexity3/52/53/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires Node.js, visit PlasmoHQ/plasmo on GitHub for current setup commands.

So what is it?

Plasmo is a framework for building browser extensions. Browser extensions are small programs that add functionality to web browsers like Chrome, Firefox, and Edge. They can modify web pages, block content, manage passwords, add keyboard shortcuts, and interact with browser capabilities that regular websites cannot access. Building a browser extension from scratch typically involves manual configuration of manifest files, background scripts, and browser-specific code. Plasmo is designed to simplify this setup. The framework is written in TypeScript, which is a version of JavaScript that adds type checking to catch errors before code runs. TypeScript has become a widely used choice for larger frontend projects because it makes it easier to work with complex data structures and collaborate across a team. By building on TypeScript, Plasmo fits into the modern web development toolchain that many browser extension developers already use. With over 13,000 stars on GitHub, Plasmo has attracted significant attention from developers building browser extensions. A framework at this star count in a relatively specialized niche indicates that developers have found it meaningfully more productive than assembling the pieces manually. The README for this repository was not available in the source data, so specific details about the project structure, configuration options, supported browsers, and developer commands cannot be described here. Readers who want to understand how Plasmo works, what commands it provides, and how to start a new extension project should visit the repository directly or consult the project documentation. Browser extension development is an area where tooling has historically lagged behind general web development. Frameworks like Plasmo try to bring modern workflows, such as hot reloading during development and a structured project layout, to the extension development experience.

Copy-paste prompts

Prompt 1
How do I create a new browser extension project with Plasmo and what commands do I use to start developing?
Prompt 2
I want to build a Chrome extension that modifies web pages. How does Plasmo handle content scripts?
Prompt 3
How do I use Plasmo to build an extension that stores data and shows a popup when the toolbar icon is clicked?
Prompt 4
What does a Plasmo project structure look like and how do I publish the finished extension to the Chrome Web Store?

Frequently asked questions

What is plasmo?

A TypeScript framework that simplifies building browser extensions for Chrome, Firefox, and other browsers with a modern developer workflow.

What language is plasmo written in?

Mainly TypeScript. The stack also includes TypeScript, JavaScript.

How hard is plasmo to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is plasmo for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.