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:
- manifest.json - The blueprint
- A background service worker OR popup/options page
- 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": {}
}
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)