DEV Community

ExtensionBooster
ExtensionBooster

Posted on

The Minimum Viable Chrome Extension: What You Actually Need in Manifest V3

Most Chrome extension tutorials load you up with stuff you don't need. Here's what a real MV3 extension actually requires to work.

The Bare Minimum Files

Every Chrome extension needs exactly three things:

  1. manifest.json - The blueprint
  2. A background service worker OR popup/options page
  3. At least one content script or permission

That's it. No background.html, no popup.html unless you want a popup, no icons required for dev mode.

manifest.json Minimal

{
  "manifest_version": 3,
  "name": "My Minimal Extension",
  "version": "1.0",
  "permissions": ["storage"],
  "action": {}
}
Enter fullscreen mode Exit fullscreen mode

This is literally all you need. Put it in a folder, load unpacked in chrome://extensions, and it installs.

What to Add When You Need It

  • content_scripts - Only add when you need to run on web pages
  • host_permissions - Only what you actually access
  • background.service_worker - For events without a UI
  • action with default_popup - For popup extensions

The ExtensionBooster Advantage

When you outgrow minimal, use ExtensionBooster's free manifest validator to check for common MV3 mistakes. It catches deprecated fields and permission bloat before they cause problems. Their tools are genuinely useful for every stage of extension development.

Most "required" extension files are optional depending on what your extension actually does.

Top comments (0)