Protect your privacy. You decide which conversations to keep.
Find the chats that matter without working through a long ChatGPT sidebar. Browse your loaded history in one searchable view, protect conversations you want to keep, and delete selected chats in bulk.
An unofficial Chrome extension for ChatGPT. Load the list once, then search, filter, and sort locally; refresh when you need an updated list.
Download for Chrome · Release notes
Choose the release asset named ChatGPTCleaner-vX.Y.Z-chrome.zip, not GitHub's
Source code archives.
- Find what you need: search titles, filter by date, sort, and select chats from the loaded list.
- Keep important chats: mark conversations as protected. Project conversations are excluded from deletion.
- Delete in bulk: review and confirm the selected, eligible conversations, then follow progress and results.
- Choose the pace: adjust deletion rate and how many chats are handled at once. Pause, resume, stop, or retry failed items.
1,229 conversations processed. 0 failed items.
Result from one recorded run. Duration varies with settings and ChatGPT response times.
Requires Chrome 120 or newer.
- Download the extension ZIP using the link above.
- Extract it to a permanent folder.
- Open
chrome://extensionsand enable Developer mode. - Click Load unpacked and select the folder containing
manifest.json.
Keep that folder available: Chrome loads the extension from it.
- Sign in at
https://chatgpt.com. With that tab active, click the ChatGPTCleaner toolbar button and keep the source tab open. - Wait for conversation and Project loading to finish.
- Protect chats you want to keep, then filter and select conversations to delete.
- Review the eligible deletion count and confirm.
Deletion rate controls how often attempts start, including retries. Chats at once limits simultaneous operations; the rate setting still controls when they start.
Pause lets you resume the queue. Stop ends it after already-started operations finish. Started operations may also finish after Pause or closing the manager. Closing or reloading the manager does not automatically resume the queue.
Deletion is permanent. Review the confirmation carefully. Project and locally protected conversations are excluded, even if selected. Use Refresh before confirming if Project membership may have changed, and do not switch the source tab's ChatGPT account or workspace during a run.
ChatGPTCleaner builds a deletion plan from the successfully loaded conversation and Project lists. It excludes Project conversations and locally protected IDs. Start, Resume, and Retry recheck local protection; they cannot add conversations to the confirmed set. Results update the local list without an automatic refresh.
Unpacked extensions do not update automatically. Download the latest extension
ZIP, replace the files in the existing extension folder, then click Reload for
ChatGPTCleaner at chrome://extensions.
Optional: verify the downloaded release
With GitHub CLI installed, verify the ZIP's build provenance:
gh attestation verify ChatGPTCleaner-vX.Y.Z-chrome.zip -R BinaryWorlds/ChatGPTCleanerReplace vX.Y.Z with the downloaded version.
ChatGPTCleaner has no backend, analytics, telemetry, or remote logging. It uses the authenticated ChatGPT tab from which it was launched; authentication credentials are not saved in extension storage or logged by the extension.
Protected conversation IDs and preferences are stored locally in Chrome extension storage. Loaded conversation lists, deletion plans, queues, and run history are not persisted. Protection is not a backup of conversation content. See PRIVACY.md.
ChatGPTCleaner is not affiliated with or endorsed by OpenAI. It depends on internal ChatGPT interfaces that may change.
Requires Node.js 24 and the pnpm version specified in package.json.
pnpm install
pnpm dev
pnpm checkFor a demo with fake data, use pnpm dev:demo. See the
contribution guide, product specification,
and architecture decisions for further details.
ChatGPTCleaner is source-available, not open source. The ChatGPTCleaner Source License 1.0 governs the source; the EULA governs official, unmodified builds. See the contribution policy before submitting changes.

