Resources

100 Browser Extensions resources for developers

Building browser extensions in the Manifest V3 era requires a shift from persistent background pages to ephemeral service workers and strict security policies. This resource guide provides the specific frameworks, API patterns, and monetization tools needed to build, deploy, and scale extensions across Chrome, Firefox, and Safari while navigating the complexities of the modern extension ecosystem.

Frameworks and Build Tooling

  1. 1

    Plasmo Framework

    beginnerhigh

    A battery-included framework that handles boilerplate for Manifest V3, including automatic HMR, React/Vue support, and simplified asset management.

  2. 2

    WXT (Web Extension Toolbox)

    intermediatehigh

    A Vite-based framework designed for cross-browser compatibility, offering a unified API for Chrome, Firefox, and Safari builds.

  3. 3

    CRXJS Vite Plugin

    intermediatestandard

    Integrates extension development directly into Vite, enabling fast HMR for content scripts and service workers by updating the manifest dynamically.

  4. 4

    web-ext by Mozilla

    beginnerstandard

    A command-line tool for running, linting, and packaging extensions; essential for testing in Firefox and validating manifest structures.

  5. 5

    Chrome Extension CLI

    beginnerstandard

    A zero-config CLI for generating extension templates with Webpack, ideal for developers who prefer standard JavaScript/CSS without heavy frameworks.

  6. 6

    Tsup for Extensions

    intermediatemedium

    A fast bundler based on esbuild; use it to bundle background service workers into a single file to avoid import issues in MV3.

  7. 7

    Extension UI Kits

    beginnerstandard

    A collection of Tailwind CSS components specifically sized for extension popups (300px-600px width) and side panels.

  8. 8

    Polyfill for WebExtension API

    intermediatehigh

    The 'browser' namespace polyfill by Mozilla that allows you to use Promise-based syntax in Chrome instead of callback-heavy 'chrome' APIs.

  9. 9

    Zod for Manifest Validation

    advancedmedium

    Use Zod schemas to validate your manifest.json and options storage at runtime to prevent crashes from unexpected user input.

  10. 10

    Fast-Check for Property Testing

    advancedstandard

    Useful for testing content scripts against a wide variety of DOM structures to ensure your extension doesn't break host websites.

Manifest V3 & Core API Implementation

  1. 1

    chrome.offscreen API

    intermediatehigh

    The mandatory way to handle DOM-dependent tasks (like audio playback or clipboard writing) that are no longer possible in service workers.

  2. 2

    chrome.storage.session

    beginnermedium

    A new storage area in MV3 that keeps data in memory for the duration of the browser session; faster than storage.local.

  3. 3

    Declarative Net Request (DNR)

    advancedhigh

    The privacy-first replacement for webRequest; requires pre-defining rules in JSON for blocking or redirecting network requests.

  4. 4

    chrome.sidePanel API

    beginnerhigh

    Enables the persistent side panel UI introduced in Chrome 114, providing more screen real estate than traditional popups.

  5. 5

    Service Worker Keep-Alive Patterns

    advancedmedium

    Techniques using chrome.alarms or dummy ports to prevent the service worker from terminating during long-running background tasks.

  6. 6

    chrome.scripting.executeScript

    intermediatestandard

    The MV3 method for injecting code into tabs; requires the 'scripting' permission and replaces the deprecated tabs.executeScript.

  7. 7

    Dynamic Content Script Registration

    intermediatemedium

    Use scripting.registerContentScripts to inject scripts based on user settings rather than hardcoding them in manifest.json.

  8. 8

    Action API (Badges & Icons)

    beginnerstandard

    Programmatically update the extension icon or badge text to show real-time status updates without the user opening the popup.

  9. 9

    Native Messaging Host

    advancedmedium

    Communicating with a local desktop application via JSON-based stdin/stdout, bypassing sandbox limitations for heavy processing.

  10. 10

    Manifest Content Security Policy (CSP)

    intermediatehigh

    Configuring the 'content_security_policy' field to allow connections to specific API endpoints while complying with Web Store safety audits.

Monetization, AI, and Distribution

  1. 1

    ExtensionPay

    beginnerhigh

    A low-code payment service designed specifically for extensions, handling subscriptions and one-time payments without a backend.

  2. 2

    Chrome Built-in AI (Prompt API)

    intermediatehigh

    Accessing local Gemini Nano models directly through the browser (Chrome 127+) for on-device summarization and text generation.

  3. 3

    Stripe + Firebase Auth

    advancedhigh

    A robust stack for multi-platform extensions; use Firebase to sync user license status across different browsers and devices.

  4. 4

    PostHog Extension Analytics

    intermediatemedium

    Privacy-compliant event tracking to see which features users interact with most within the popup and content scripts.

  5. 5

    Sentry for Extensions

    intermediatestandard

    Error tracking specifically configured for the extension environment to catch background service worker crashes before users report them.

  6. 6

    Extension Update Testing Tool

    intermediatemedium

    A workflow for testing how your extension handles data migrations when upgrading from an old version to a new version locally.

  7. 7

    GitHub Actions for Web Store

    intermediatestandard

    Automate the upload and submission process to the Chrome Web Store and Firefox Add-ons using the 'chrome-webstore-upload' action.

  8. 8

    Lemon Squeezy Overlay

    beginnermedium

    Using Lemon Squeezy's hosted checkout to sell digital licenses for extensions, providing an alternative to Stripe for global tax handling.

  9. 9

    OpenAI API Proxying

    intermediatehigh

    Implementing a small Vercel/Cloudflare worker to proxy LLM requests, keeping your API keys out of the extension's client-side code.

  10. 10

    I18n-next for Extensions

    beginnerstandard

    A framework-agnostic way to handle localization beyond the basic chrome.i18n API, facilitating easier entry into international markets.