Skip to main content
Blog/January 3, 2026

Manifest V3 Explained: Permissions, Service Workers, Content Scripts, and Why Manifest.json Is Hard to Get Right

Manifest V3 is the file every Chrome extension lives or dies by — and Chrome's policy review is unforgiving. Here's what the manifest.json schema actually does (permissions, service workers, content scripts, host permissions), where developers most often get it wrong, and how to generate a clean baseline in seconds.

Building a Chrome extension starts with one file: manifest.json.

It defines your extension's permissions, background scripts, content scripts, popup UI, and more. Get any of it wrong — invalid permission name, missing host pattern, deprecated v2 syntax — and Chrome's review system rejects your extension or, worse, removes a published listing.

Most developers copy-paste from examples, modify values, and hope it works. That's slow, error-prone, and the reason a lot of extensions fail review on the first try.

You don't need to memorize Manifest V3 syntax. You need to understand what each section actually does, then start from a clean, compliant baseline. (If you just want the file, skip the explainer and use the Manifest V3 Generator — pick your features, get a valid manifest.json.)

Why Manifest V3 Is Confusing

Manifest V3 changed everything:

  • Background pages became service workers.
  • Permissions got stricter.
  • Content security policies tightened.
  • The structure is more rigid.

Copy-pasting from a Manifest V2 example won't work. The syntax is different. The structure is different. The rules are different.

One wrong field, and Chrome's validator throws errors.

What a Manifest Generator Does

A good generator:

  • Validates structure: Ensures your manifest follows V3 rules.
  • Suggests permissions: Shows common permissions for your use case.
  • Handles content scripts: Properly configures matches, JS, CSS, and run_at.
  • Generates valid JSON: No syntax errors, no missing commas, no typos.

You describe what your extension does. The generator builds the manifest.

The Manual Way (And Why It Fails)

You could write it manually:

{
  "manifest_version": 3,
  "name": "My Extension",
  "version": "1.0.0",
  "permissions": ["activeTab", "storage"],
  "host_permissions": ["https://example.com/*"],
  "background": {
    "service_worker": "background.js"
  },
  "action": {
    "default_popup": "popup.html"
  },
  "content_scripts": [{
    "matches": ["https://example.com/*"],
    "js": ["content.js"],
    "run_at": "document_idle"
  }]
}

That's 20 lines. One typo breaks it. One missing comma breaks it. One wrong permission breaks it.

The Generator Approach

Instead of writing JSON manually, use a visual interface.

Tool: Chrome Extension Manifest V3 Generator

This tool builds the file by selecting options.

Example: Build a manifest for a content script extension

  1. Enter your extension name and version.
  2. Select permissions: activeTab, storage.
  3. Add host permissions: https://example.com/*.
  4. Configure content script: matches, JS files, CSS files, run_at timing.
  5. Optionally add a popup or background service worker.
  6. Click "Generate Manifest."

The tool outputs valid JSON. Copy it. Save it as manifest.json. Done.

Common Manifest Mistakes

  • Wrong manifest version: Using "manifest_version": 2 instead of 3.
  • Invalid permissions: Requesting permissions that don't exist or aren't needed.
  • Content script errors: Wrong matches format or missing run_at.
  • Service worker syntax: Using background.page instead of background.service_worker.
  • JSON syntax errors: Missing commas, trailing commas, or unquoted keys.

When to Use a Generator

First-time builders: Learn the structure without memorizing syntax.

Experienced developers: Save time on boilerplate and avoid typos.

Team projects: Ensure consistency across extensions.

Quick prototypes: Generate a working manifest in seconds.

The Bottom Line

Manifest V3 is strict. But you don't need to memorize the syntax.

Use a generator. Select your options. Generate valid JSON. Build faster.

Try Manifest V3 Generator →

Build Your Extension Ecosystem

Once your manifest is ready, you'll need icons and a plan:

See how extensions like X Followers Exporter Pro and Prompt Anything Pro are built on Manifest V3 to deliver local-first, privacy-respecting automation.

NEED SOMETHING CUSTOM?

Don't see the tool you need? We'll build it for you.

Stop renting your workflow. We build custom browser extensions that automate your specific manual processes, data extraction, and repetitive tasks.

Get a Quote

Fixed price. 100% IP Ownership.

Recommended Tool

Solve this with X Followers Exporter Pro

Install Free(opens in new tab)