Browser extension development in 2026 is both a valuable skill and a profitable side hustle. With Manifest V3 now mandatory, the extension landscape has matured — offering better security, stricter permissions, and a cleaner API surface. This guide covers the complete technical stack for building modern browser extensions that work across Chrome, Edge, Brave, and Firefox.

Manifest V2 vs V3: What Changed

FeatureManifest V2 (Deprecated)Manifest V3 (Current)
Background ScriptsPersistent background pages (always running)Service workers (ephemeral, terminated when idle)
Network Request ModificationwebRequest blocking (sync)declarativeNetRequest (async, rule-based)
Host PermissionsAll at install timeOptional, can be granted at runtime
Remotely Hosted CodeAllowedNot allowed (all code must be in the extension package)
Content Security PolicyOptionalEnforced (no inline scripts, no eval)
Cross-Browser CompatibilityChrome-specificBetter alignment with Firefox/Safari (but not perfect)

Extension Architecture Patterns

// manifest.json — the heart of a Manifest V3 extension
{
  "manifest_version": 3,
  "name": "My Extension",
  "version": "1.0.0",
  "permissions": ["storage", "activeTab"],
  "host_permissions": ["https://*.example.com/*"],
  "background": {
    "service_worker": "background.js"  // Replaces background.page
  },
  "content_scripts": [{
    "matches": ["https://*.github.com/*"],
    "js": ["content.js"],
    "css": ["styles.css"]
  }],
  "action": {
    "default_popup": "popup.html",
    "default_icon": "icon.png"
  },
  "options_page": "options.html"
}

// Cross-browser compatibility tips:
// - Use chrome.* APIs (Edge/Brave/Opera are Chromium-based)
// - For Firefox: browser.* APIs are nearly identical (use webextension-polyfill)
// - For Safari: Xcode project + iOS-style extensions (smaller market, consider later)

Key APIs Every Extension Developer Should Know

APIUse CasePermissions Required
chrome.storage.local / syncStore user preferences and datastorage
chrome.tabsCreate, update, query browser tabstabs
chrome.contextMenusAdd right-click menu itemscontextMenus
chrome.runtime.onMessagePass messages between content scripts and service workerNone (built-in)
chrome.alarmsSchedule periodic tasks (replaces setInterval in service workers)alarms
chrome.sidePanelAdd a persistent side panel (Chrome 114+)sidePanel
chrome.offscreenPlay audio, access DOM APIs from service workeroffscreen

Choosing Your Tech Stack

StackBest ForProsCons
Vanilla JS + HTML + CSSSimple extensions, minimal bundleZero build step, fastest reviewNo type safety, no modern DX
React + Vite + CRXJSComplex popup UIs, SPAsComponent model, HMR in developmentLarger bundle (150KB+), CSP considerations
Svelte + ViteMinimal bundle, reactive UIsTiny bundle (~3KB), no virtual DOMSmaller ecosystem than React
Plasmo (Framework)Full-featured extensions, rapid developmentManifest generation, HMR, cross-browser, built-in messagingAbstraction overhead, less control
WXT (Framework)Type-safe extensions, modern DXTypeScript-first, cross-browser (Chrome + Firefox), auto-reloadNewer framework, smaller community

Chrome Web Store Submission Checklist

  1. Manifest: V3 only. V2 extensions are rejected.
  2. Privacy policy: Required if you collect ANY data (even analytics). Link to a hosted privacy page.
  3. Permissions justification: Explain why each permission is needed. "Required for core functionality" is not sufficient — be specific.
  4. Single purpose: Each extension must do one thing. Multi-purpose extensions are rejected.
  5. Screenshots: At least 1 (1280x800), best practice 5+. Show the UI and the benefit.
  6. Promotional images: Small tile (440x280), large tile (920x680), marquee (1400x560).
  7. Review time: 1-5 business days for initial review, 1-3 days for updates.

Bottom line: Browser extensions are a $2B+ market that most developers ignore. Manifest V3 has raised the technical bar (disqualifying amateurs) while improving security for users. Start with Plasmo or WXT for the best developer experience, target Chrome first (80%+ market share), and submit early — the CWS review process often finds issues you will miss. See also: Chrome Extension Monetization and Web Security Basics.