View, bulk delete, and export your Microsoft 365 Copilot Chat conversations into raw JSON, readable Markdown, or ChatGPT's conversation.json format.
Install from GreasyFork here: https://greasyfork.org/en/scripts/543763-m365-copilot-exporter
Exporter design and functionality based on @Pionxzh's ChatGPT Exporter.
Caution
This tool is maintained on a "until I lose access to my Microsoft 365 account after I graduate" basis. Use at your own risk!
- View, bulk export, and bulk delete your conversations in Microsoft 365 Copilot Chat (m365.cloud.microsoft) with dark mode support.
- Choose from three export formats: Copilot JSON, Markdown (with citations!), or ChatGPT JSON (with options for each to export as single file like
conversations.jsonor as a ZIP). - Convert your Copilot converstions into ChatGPT's
conversations.jsonformat for import into ChatGPT formatting tools (e.g. ChatGPT Exporter).
- The exporter can only show, at maximum, the latest 500 conversations. This is a limit imposed by the API endpoint used to get the list of chats. You'll need to delete some chats if you want to access anything beyond the latest 500 conversations.
- This modal does not support HTML, PDF, or any other fancy export options. This is script is mainly for my own data hoarding purposes, so it only supports Copilot JSON, which preserves the most metadata among the format options, and two formats that I anticpate others will like: ChatGPT JSON (for
conversations.json) and Markdown.
Install a userscript manager extension into your browser, such as Greasemonkey or Tampermonkey. I personally recommend Greasemonkey (and I have only used this script on it, so your mileage may vary with others)!
Once you have a userscript manager, you can download this script on Greasyfork using the link below and clicking "Install this script". https://greasyfork.org/en/scripts/543763-m365-copilot-exporter
Copy or import dist/copilot-exporter.user.js into a new script in your desired userscript manager.
- Navigate to your M365 dashboard.
- Open the export menu by either:
- Clicking on the floating export button in the bottom right.
- Opening the Greasemonkey command menu and selecting "Open export menu".
- Select the conversations you want to export.
- If the conversation(s) you want to export are further down, alter the maximum number of conversations shown and refetch.
- Click export once you've selected the conversations you want to export.
For those seeking to maintain this:
- Clone this repository:
git clone https://github.com/ganyuke/copilot-exporter. - Open the directory:
cd copilot-exporter. - Get
pnpm. - Run
pnpm build. The newly-built userscript should be indist/.
For those wondering if it can really export ALL your conversations... here's 400+ conversations exported at once! Older UI, but the same scraping logic's still in there!


