All three stores take a ZIP of the same folder, with manifest.json at its root, plus icons, screenshots and a privacy disclosure. Request only the permissions you use: broad host patterns such as <all_urls> and powerful APIs such as tabs or webRequest draw closer review.
| Store | Account | Review notes |
|---|---|---|
| Chrome Web Store 1 | One-time registration fee | Days to weeks; no obfuscation |
| Firefox Add-ons 102 | Mozilla account | Signs all add-ons; source if minified |
| Edge Add-ons | Partner Center, no fee | Chrome 1 code, minimal changes |
Firefox 555 needs two extra manifest keys under browser_specific_settings.gecko: an id such as "link-counter@example.com", required for Manifest V3 submissions, and, for every new extension since November 3, 2025, data_collection_permissions ({ "required": ["none"] } when you collect nothing). Chrome ignores both.