Chrome Extension Backup
A Practical Chrome Extension Package Backup Workflow
A useful Chrome extension backup needs more than a file in your Downloads folder. Save the CRX, record its source and version, and calculate a checksum so you can identify the package months later.
Start with the exact Chrome Web Store listing
Copy the extension's detail URL, then check its name and publisher. A display name alone is easy to confuse with another listing. Our extension ID guide shows where to find the 32-character identifier.
We used uBlock Origin Lite, an open source extension by Raymond Hill. Its Chrome Web Store ID is ddkjiahejlhfcafbddmgiahcphecmpfh. Keep the full URL as well as the ID. For an Edge package, follow our Edge Add-ons download guide and record Microsoft Edge Add-ons as the source.
Download the CRX and confirm its version
- Open the CRX downloader and paste the public listing URL.
- Click Parse extension and compare the store, ID, and publisher with the listing.
- Choose Download CRX to preserve the package as received.
- Keep that file unchanged. Use a CRX-aware extractor on a copy to read its ZIP payload and
manifest.json.
Chrome's manifest version documentation identifies version as the release number used for updates. version_name, when present, is a display label. Record the actual package version. Don't infer it from the filename or a result that says Latest.
Metadata and downloads happen separately, so they can differ after a publisher's update. If you use CRXFile's Download source .zipoption to read the manifest, check that it corresponds to your saved CRX before treating both as one snapshot. Extracting the same CRX avoids that uncertainty. Simply renaming it to ZIP isn't a dependable extraction method.
If a download fails, copy the detail URL again and confirm the selected store. A successful parse doesn't prove that a package is available. A 204 No Content response supplies no package and doesn't tell you why. If the saved file is empty or won't extract, don't add it to your backup inventory. Check the listing, retry a temporary failure later, and inspect the replacement file.
A tested Chrome extension backup record
On October 12, 2026, we checked the tool in Chrome 154.0.8037.94 on macOS and downloaded the example through CRXFile's live CRX route. We extracted that file's ZIP payload, read its manifest, and checked the archive for damaged entries. It was a CRX3 package using Manifest V3.
Use this record as a model, or download the blank CSV backup template. Keep one row per snapshot. Enter your own values; another download may return a different package or checksum. The filename below is the label we assigned to our saved copy.
| Field | Recorded value |
|---|---|
| Store URL | https://chromewebstore.google.com/detail/ublock-origin-lite/ddkjiahejlhfcafbddmgiahcphecmpfh |
| Extension ID | ddkjiahejlhfcafbddmgiahcphecmpfh |
| Package version | 2026.1006.1931 |
| Capture date (UTC) | 2026-10-12 |
| CRX filename | ublock-origin-lite_2026.1006.1931_2026-10-12.crx |
| File size | 9,672,935 bytes |
| SHA-256 | 6ee81f9e71a1fa1d1bd6fdfc41f14cfa739bdb68e6ee137bf529907aafdd7308 |
The archive opened successfully. We didn't audit its security or verify its CRX signature. The hash identifies the bytes we saved; it doesn't certify the publisher or the code.
Calculate a SHA-256 checksum
Calculate the checksum after your CRX file backup finishes downloading, then save the output with the record. Replace extension.crx below with your actual filename.
On macOS:
shasum -a 256 "extension.crx"On Linux:
sha256sum "extension.crx"In Windows PowerShell:
Get-FileHash -Algorithm SHA256 -LiteralPath ".\extension.crx"These commands read the file without installing the extension. After copying it to another drive, run the command again and compare the entire hash. A match lets you check that the copied bytes haven't changed. It doesn't verify a CRX signature or establish that the original download was trustworthy.
Store each snapshot in its own folder
Name the folder with the extension ID, package version, and capture date. Put the original CRX, record, and checksum inside. Keep extracted source in a separate subfolder so your edits can't be mistaken for the untouched package.
Don't overwrite yesterday's file with today's download. Separate snapshots let you compare extension packages later. Keep a second copy on another drive or in storage you control, then verify its hash. Note why you captured the package, such as a permission review or compatibility investigation.
Know what you can restore
The package contains distributed code and assets. Your personal rules, saved sessions, and other runtime data need a separate backup. If the extension has an export function, use it for those settings. Handle exports containing personal information according to your storage requirements.
A downloaded CRX doesn't guarantee offline installation. Chrome's distribution rules restrict installation outside the Web Store, and managed browsers may impose further policies. For everyday use, install through the official listing. Test an unpacked copy only for authorized development where your browser and policies support it.
Keep the backup useful after an update
Chrome checks for updates to installed extensions, as its update lifecycle guideexplains. A CRX on disk stays unchanged. Saving one doesn't pin the installed extension to that version.
Capture another snapshot when your review needs a newer release, with its own record and checksum. If a listing becomes private or disappears, CRXFile can't retrieve a withdrawn package or reconstruct a version you never saved. Leave failed downloads out of your inventory until you've checked the files.
Before relying on a backup, open its record and confirm the source URL, ID, package version, date, filename, and checksum. Recheck the hash. You should be able to tell exactly which package you saved without downloading it again.