Build, test and ship Manifest V3 extensions
A practical cross-browser resource for building, testing, and publishing modern browser extensions. Every page leads with the constraint that bites first — service worker eviction, permission review, the API the other engine does not have, or the auto-update that landed while the user had twenty tabs open.
4 tracks · 40 topic guides · 383 in-depth pages · Chrome, Firefox and Safari differences on every page
Four tracks through MV3
Pick the track that matches what you are building right now — each one ends where the next begins.
Browse every topic
40 guides, each with runnable code, an execution-context note under every snippet, and the Chrome, Firefox and Safari divergences spelled out.
Testing, Debugging & Performance Optimization
Unit test, end-to-end automate, debug every MV3 execution context, and profile service worker performance — a practical engineering discipline for Chrome, Firefox, and Safari extensions.
- CI & Release Automation · 10 pages
- Debugging Extension Contexts in MV3 · 11 pages
- End-to-End Testing Automation for MV3 Extensions · 10 pages
- Error Monitoring & Crash Reporting · 9 pages
- Performance Profiling & Optimization for MV3 Extensions · 10 pages
- Unit & Integration Testing for MV3 Extensions · 11 pages
- Usage Analytics & Feature Flags · 6 pages
Core APIs & Cross-Browser Data Management
Master MV3 storage, messaging, declarativeNetRequest, tabs, and scripting APIs — with cross-browser compatibility patterns for Chrome, Firefox, and Safari extensions.
- Alarms & Scheduling Background Jobs · 11 pages
- Bookmarks, History & Downloads APIs · 10 pages
- Chrome Storage API & Sync · 12 pages
- Cookies & webRequest Observation · 6 pages
- Cross-Browser API Compatibility · 11 pages
- Declarative Net Request Rules · 11 pages
- Identity & OAuth Authentication · 10 pages
- Message Passing Architecture in MV3 · 12 pages
- Native Messaging & Host Integration · 6 pages
- Network Requests & Backend Sync · 6 pages
- Scripting API & Dynamic Injection · 11 pages
- Tabs API & Window Management · 11 pages
MV3 Architecture & Extension Lifecycle
Master Manifest V3 service workers, content scripts, popup & options UI, and store compliance — with cross-browser patterns for Chrome, Firefox, and Safari.
- Build Tooling & Bundlers · 10 pages
- Content Scripts & DOM Injection · 11 pages
- Extension Popup Architecture · 10 pages
- Extension Security & CSP Hardening · 11 pages
- Extension Updates & Data Migration · 10 pages
- Host Permissions & Site Access · 6 pages
- Manifest Keys Reference · 6 pages
- Manifest V2 to V3 Migration · 6 pages
- Offscreen Documents & DOM Access · 10 pages
- Options Page Configuration · 10 pages
- Service Worker Fundamentals · 11 pages
- Store Submission, Permissions & Compliance · 11 pages
UI/UX Patterns & Interactive Components
Build production-ready extension UIs in MV3: popup design, options pages, keyboard shortcuts, context menus, and side panels — with accessibility, theming, and CSP patterns.
- Context Menus & Right-Click Actions · 10 pages
- In-Page Overlays & Injected UI · 6 pages
- Internationalization & Accessibility · 10 pages
- Keyboard Shortcuts & Commands · 10 pages
- Notifications, Badges & the Action API · 11 pages
- Omnibox & Address Bar Integration · 9 pages
- Options Page Layouts · 10 pages
- Popup Interface Design · 10 pages
- Side Panel & DevTools Interfaces · 11 pages
Recently added
The newest guides: eight new topics — cookies and request observation, native messaging, backend sync, host permissions and site access, the MV2 to MV3 migration, the manifest keys that cause the most trouble, UI injected into web pages, and privacy-preserving usage analytics — plus deeper coverage of every existing topic, from omnibox ranking to reproducible release builds.
Cookies & webRequest Observation
Read, write and watch cookies with chrome.cookies, observe network traffic with non-blocking webRequest in MV3, and handle partitioned cookies, incognito stores and auth challenges.
Native Messaging & Host Integration
Connect an MV3 extension to a native app with connectNative and sendNativeMessage: host manifests, the length-prefixed wire format, per-OS registration, Safari's app extension model and debugging.
Network Requests & Backend Sync
Talk to your own backend from an MV3 extension: cross-origin fetch with host permissions, CORS from content scripts, WebSockets and push in a service worker, streaming, offline queues and sync.
Host Permissions & Site Access
How MV3 extensions get access to websites: host_permissions, optional hosts, activeTab, Chrome's user site-access controls, incognito modes, Firefox's revocable grants and Safari's per-site prompts.
Manifest V2 to V3 Migration
Migrate a Manifest V2 extension to MV3 end to end: manifest key changes, background page to service worker, action APIs, chrome.scripting, remote code removal, DOM-free background code and the MV2 timeline.
Manifest Keys Reference
A practical reference to MV3 manifest.json keys: required fields, background, action, permissions, content scripts, web_accessible_resources, CSP, key, minimum versions, icons and browser_specific_settings.
In-Page Overlays & Injected UI
Build UI inside web pages from an MV3 content script: shadow DOM isolation, floating buttons, highlights, tooltips at the selection, modal dialogs in the top layer, and removing everything cleanly.
Usage Analytics & Feature Flags
Measure and steer an MV3 extension without remote code or creepy tracking: privacy-first event collection from the service worker, GA4 Measurement Protocol, uninstall surveys, remote flags and A/B tests.
Building a Command Palette in an Extension
Build a keyboard-first command palette for an MV3 extension: opening it with a command, an accessible combobox and listbox, fuzzy matching, running actions in the right context, and an in-page palette in shadow DOM.
Start here
Coming from MV2
Your background page is now an evictable service worker, and that single change explains most of the bugs you are about to meet.
Migration checklistBuilding the interface
Popups, options pages, side panels and context menus — including which surface is right for state the user needs to keep visible.
UI patternsGetting it published
Permission justifications reviewers accept, the audit that catches rejections before upload, and a release pipeline that reaches all three stores.
Submission & complianceShipping version two
An auto-update lands on a running browser: storage migrations that survive eviction, and the open tabs still running last week's content script.
Updates & migration