Why convert XPI to CRX?
An XPI is a ZIP archive of a WebExtension for Firefox/Thunderbird, signed by Mozilla's AMO infrastructure. A .crx is a Chrome extension package with a proprietary binary CRX3 header and a Google-trusted cryptographic signature. Beyond the file wrapper, manifest.json keys and API calls differ between the two platforms - renaming or repacking the file produces nothing Chrome will load.
About these formats
An XPI file is a Firefox or Thunderbird add-on package - a ZIP archive containing a browser extension or theme. Install it by dragging it onto the Add-ons Manager (about:addons) in Firefox…
Open .XPI details →A CRX file is a Chrome Extension Package - a signed ZIP archive containing the code and assets for a browser extension. In normal use you never see one because the Chrome Web Store installs…
Open .CRX details →Quality & what to watch
- Renaming
.xpito.crxor repacking the ZIP produces nothing Chrome will load - Chrome verifies the CRX3 binary header and cryptographic signature. - AMO-signed
.xpifiles contain Mozilla's certificate inMETA-INF/; this carries no authority in Chrome. - If you are the developer, audit
manifest.jsonfor incompatible keys and replacebrowser.*calls with theirchrome.*equivalents, then package and submit to the Chrome Web Store.
Frequently asked questions
Can I rename an XPI to CRX to load it in Chrome?
Do Firefox and Chrome extensions share any code?
manifest.json keys and testing API differences between the browser.* and chrome.* namespaces.