Publish a Firefox extension to AMO (review checklist for indie creators)
Submit your WebExtension to Firefox Add-ons (AMO): gecko ID, zip packaging, developer account, privacy policy, and Payhook-friendly monetization that avoids deprecated store billing.
#firefox#amo#publishing#webextensions#distribution
You tested your add-on with Load Temporary Add-on in about:debugging. To reach Firefox users worldwide, publish to Firefox Add-ons (AMO). Mozilla reviews security and quality; they do not provide a simple managed in-app purchase system for most indie extensions - plan on Stripe + Payhook for Pro revenue (Stripe setup guide).
Before you submit
| Item | Why it matters |
|---|---|
Unique browser_specific_settings.gecko.id | Required for updates and signing |
| Minimal permissions | Faster review, fewer user scares |
| Privacy policy URL | Required if you collect or transmit user data |
| Screenshots + plain description | Users and reviewers understand the add-on |
| Source zip (if requested) | AMO may ask for readable source when code is minified |
If you started from Firefox extension Manifest V3 starter, confirm the gecko block is present:
"browser_specific_settings": {
"gecko": {
"id": "your-addon@yourdomain.com",
"strict_min_version": "109.0"
}
}
Step 1 - Create a developer account
- Sign in at addons.mozilla.org/developers
- Accept the developer agreement
- Complete profile details (support email, homepage if you have one)
Step 2 - Package your add-on
Zip the extension root (the folder containing manifest.json), not the parent repo:
cd path/to/your-extension
zip -r ../my-addon.zip . -x "*.DS_Store" -x ".git/*"
Ask your AI to verify the zip structure if AMO rejects the upload - manifest.json must sit at the top level of the archive.
Step 3 - Submit for review
- In the AMO developer hub, choose Submit a New Add-on
- Upload the
.zip - Select On this site (listed on AMO) unless you have a specific reason for self-distribution
- Fill in name, summary, description, categories, and privacy policy link
- Upload screenshots (popup open, key feature in context)
- Answer the data collection questionnaire honestly
Review times vary. Respond quickly if moderators request changes.
Monetization on AMO
Mozilla does not replace your merchant relationship for typical Pro tiers:
- Do use hosted checkout (Payhook opens Stripe on
unlock.payhook.link) - Do gate Pro in the add-on with Payhook entitlement checks
- Avoid embedding card fields in the popup
- Avoid outdated advice about Chrome-style store IAP (deprecated on Chrome too)
Integration walkthrough: Monetize a browser extension without a payment backend.
After approval
- Bump
versioninmanifest.jsonfor each release - Upload new zips through the developer dashboard
- Keep support email and privacy policy current
Cross-browser shipping
Many creators publish AMO after Chrome Web Store. Prompt your coding agent:
Prepare this WebExtension for AMO submission: verify gecko id, trim permissions, add privacy policy notes, and produce a clean zip command.