GPT INSTRUCTION BACKUP
Version 0.3.3 | November 9, 2026
Built by The Hampton Network | https://hamptonnetwork.com

This is an installable Chrome extension prototype, not a published Chrome Web Store listing.

INSTALL IN CHROME ON WINDOWS

1. Download and extract GPT_Instruction_Backup_Chrome_Extension_v0.3.3.zip.
2. Open Chrome and enter chrome://extensions in the address bar.
3. Turn on Developer mode at the upper right.
4. Click Load unpacked.
5. Select the extension folder inside the extracted package. Select the folder containing manifest.json, not the outer package folder.
6. Open Chrome's Extensions menu and pin GPT Instruction Backup.
7. Click the extension icon to open its dashboard.

Microsoft Edge uses the same unpacked extension format. Use edge://extensions instead. Edge has not been tested here.

BACK UP ALL YOUR GPTS

1. Sign into ChatGPT in the same Chrome profile where the extension is installed.
2. In ChatGPT, pick the account or workspace you want to back up.
3. Click the extension icon to open the dashboard.
4. Click Back up all my GPTs. The extension reads your GPT list straight from ChatGPT, about 20 GPTs per request. Three hundred GPTs take about a minute. Any ChatGPT tab works. If none is open, the extension opens one in the background and closes it when done.
5. Open Preview on a few GPTs and compare them with ChatGPT.
6. Click Download ZIP beside Collect selected in section 2, or at the bottom of the list, and keep the file somewhere safe. Include knowledge files (on by default) adds every GPT's knowledge files to the ZIP.
7. Have a Team or Enterprise workspace too? Switch to it in ChatGPT, click + New collection in the dashboard, and click Back up all again.

Running Back up all again refreshes every GPT with its latest saved version. It never creates duplicates.

ONE GPT AT A TIME

Open the GPT in ChatGPT (its chat page or its editor), select that tab in the dashboard, and click Capture this GPT. You can also paste GPT links under Add GPT editor links manually, select them, and click Collect selected. After capturing one GPT, it is the only one selected, so Download ZIP of this GPT beside Collect selected downloads just that GPT.

WHAT THE ZIP CONTAINS

The file name follows what you selected. One GPT downloads as "<GPT name>.zip". Several GPTs download as "<collection name> - <count> GPTs - <date>.zip".

One GPT:
<GPT name> - Instructions.txt: The exact instruction text.
Knowledge Files/: The GPT's knowledge files, when Include knowledge files is on.
metadata.json: Name, description, starters, capabilities, dates, checksum, and knowledge file results.
backup.json: A backup you can import into this extension later.
export-report.json: Status for the GPT and each knowledge file.

Several GPTs:
GPTs/<GPT name>/: One folder per GPT with the same files as above. Two GPTs with the same name get "<name> (2)".
backup.json, combined-instructions.txt, and export-report.json at the top level.

Knowledge files download from ChatGPT when you export, so keep ChatGPT signed in. Your 230 GPTs carry about 93 MB of knowledge files, so a full ZIP with files takes a few minutes. A file ChatGPT will not provide is skipped and listed in export-report.json, and the rest of the ZIP still downloads.

The checksum identifies the captured UTF-8 text. It does not independently prove that ChatGPT displayed all instructions or that every GPT was discovered. User comparison supplies that check.

BACKUP STATUS

Captured: Instructions were read from your saved GPT in ChatGPT.
Review text: ChatGPT has no instructions saved for this GPT.
Waiting: A GPT link was added but has not been read yet.
Needs attention: ChatGPT did not return this GPT. Details gives the reason, for example a GPT you do not own or one in another workspace.
Compared with editor: You marked the capture after comparing it with ChatGPT.

SCOPE AND LIMITS

Captured: saved instructions, name, description, conversation starters, capabilities, sharing setting, default model, dates, migration status, and knowledge files (downloaded at export).

Not captured: actions and their secrets, chats, profile images, and unsaved editor changes. A JSON import restores this extension's collection, not the GPT inside ChatGPT.

The extension never saves, publishes, migrates, or deletes anything in ChatGPT. It only reads.

HOW IT READS YOUR GPTS

ChatGPT's own My GPTs page gets your GPT list from ChatGPT's servers while you are signed in. This extension makes those same read-only requests from your open ChatGPT tab. Your sign-in token is used inside that tab only for these requests. It is never stored, shown, or sent anywhere except chatgpt.com. If ChatGPT changes how it serves this data, the extension may need an update.

DATA AND PERMISSIONS

Chrome permissions: storage, unlimitedStorage, and scripting. Chrome shows no extra warning for unlimitedStorage. It removes the 10 MB cap on local collections.
Host access: https://chatgpt.com/* only.

The extension runs only after your click. It reads your GPT data, not your chat history. It does not request cookie permission, ask for passwords, use an API key, or upload backup data anywhere.

Collections use local extension storage, not Chrome sync. The app reports a storage failure rather than silently confirming a save. Download backups regularly. Deleting a collection removes it locally. Uninstalling the extension deletes its stored collections.

Downloaded backups are readable files without encryption. Keep them in a location you trust.

UPDATING THE EXTENSION

Download a JSON or ZIP backup before replacing extension files. Keep the original unpacked folder path, replace its contents with a newer version, and click Reload on chrome://extensions. Removing and reinstalling may remove local collections. You can restore a downloaded backup.json using Import JSON backup.

SOURCE FILES

extension/manifest.json: Chrome Manifest V3 configuration and permission scope.
extension/background.js: Opens or reuses the dashboard.
extension/dashboard.html, styles.css, dashboard.mjs: Dashboard and job orchestration.
extension/collector.js: On-demand reader for ChatGPT GPT data, with an editor-field fallback.
extension/core.mjs: Input validation, metadata, checksums, and export content.
extension/zip.mjs: Local ZIP writer, with no downloaded libraries.
tests/: Automated Node tests, with no external packages.
VALIDATION.txt: Tests run and remaining validation steps.
CHANGES.txt: What changed in each version.

Run the included tests with a recent Node.js installation:
node --test tests/core.test.mjs tests/adapter.test.mjs

CHANGES.txt lists every fix.

REFERENCE DOCUMENTATION

https://developer.chrome.com/docs/extensions/develop/concepts/content-scripts
https://developer.chrome.com/docs/extensions/reference/api/scripting
https://developer.chrome.com/docs/extensions/reference/api/storage
https://developer.chrome.com/docs/extensions/develop/migrate/to-service-workers
https://developers.openai.com/api/docs/actions/getting-started

Independent tool. No affiliation with or endorsement by OpenAI.
