Publishing an Extension to Microsoft Edge Add-ons
Microsoft Edge Add-ons (Partner Center) is the official extension store for Edge. Since 2020, Edge runs on the Chromium engine, so Chrome extensions port with minimal changes.
Developer Account
Register on partner.microsoft.com. You need a Microsoft account. No registration fee.
Compatibility with Chrome
An extension for Chrome Web Store works in Edge without modification in most cases. The only thing to keep in mind:
{
"manifest_version": 3,
"browser_specific_settings": {
"edge": {
"browser_action_next_to_addressbar": true
}
}
}
Edge-specific settings in browser_specific_settings.edge don't break Chrome, they're just ignored.
Package Preparation
ZIP requirements are the same as Chrome Web Store:
cd dist/
zip -r ../edge-extension-1.0.0.zip . \
--exclude "*.map" \
--exclude ".DS_Store"
Icons: Edge uses the same sizes as Chrome — 16, 32, 48, 128 px.
Upload to Partner Center
Path: Partner Center → Extensions → Create new extension.
- Upload ZIP
- Partner Center automatically extracts metadata from
manifest.json - Complete listing: description, screenshots, category
- Specify Privacy Policy URL (required if collecting data)
- Submit for review
Synchronization with Chrome Web Store
Microsoft provides a tool to import an extension directly from Chrome Web Store:
- Partner Center → Extensions → Import from Chrome Web Store
- Specify Chrome Extension ID
- Edge automatically pulls metadata, description, and screenshots
This is convenient when supporting an extension in both stores — no need to duplicate descriptions manually.
Review and Publishing
Review in Edge Add-ons is usually faster than in Chrome Web Store — from a few hours to 3 business days. Policies are similar to Google: remote code ban, minimum permissions, data transparency.
Automation via API
Microsoft Edge Add-ons API (in Partner Center) allows publishing updates programmatically:
# Get access token
TOKEN=$(curl -s -X POST "https://login.microsoftonline.com/$TENANT_ID/oauth2/v2.0/token" \
-d "client_id=$CLIENT_ID&client_secret=$CLIENT_SECRET&grant_type=client_credentials&scope=https://api.addons.microsoftedge.microsoft.com/.default" \
| jq -r '.access_token')
# Upload new version
curl -X POST \
"https://api.addons.microsoftedge.microsoft.com/v1/products/$PRODUCT_ID/submissions/draft/package" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/zip" \
--data-binary @extension.zip
# Publish draft
curl -X POST \
"https://api.addons.microsoftedge.microsoft.com/v1/products/$PRODUCT_ID/submissions" \
-H "Authorization: Bearer $TOKEN"
PRODUCT_ID is taken from the URL in Partner Center after creating the extension.
Corporate Distribution without Store
For internal company extensions, you can use Group Policy without publishing to Store:
<!-- ExtensionInstallForcelist in GPO -->
<enabled/>
<data id="ExtensionInstallForcelistDesc" value="1extension-id;https://edge.microsoft.com/extensionwebstorebase/v1/crx"/>
Or through Intune for MDM-managed devices — the extension is installed forcibly without user participation.
Differences in Edge Policies from Chrome
Edge is more lenient with corporate extensions with broad permissions if your company has a verified Partner Center account. Extensions with <all_urls> pass review easier with justification in the description. Nevertheless, the minimum permissions policy remains the standard recommendation.







