ChatGPT export is empty or shows []: what to check
Short answer: a file that holds only [] is an empty list. It means that one file has no chats in it. Before you request another export, check three things: that you opened conversations.json and not another file, whether the ZIP also has numbered files like conversations-000.json, and which account or workspace you exported from.
This happens to real people. In October 2026 one r/OpenAI user said they "got the zip multiple times" with "[] as the only content", and that support only sent them back to the steps for requesting an export. A reply suggested the chats might be sitting in numbered files elsewhere in the ZIP.
1. Make sure you opened the right file
The export ZIP holds several JSON files, and some of them are often empty on purpose. The open-source convoviz project's export spec lists shopping.json as often [], group_chats.json as often {"chats": []} and sora.json as often {}. Your chats live in conversations.json, or in numbered files (next step).
2. Look for numbered files
Some exports split the chats into conversations-000.json, conversations-001.json and so on. OpenAI's help page does not describe this. We know it from convoviz, whose loader reads these split files, and from other export tools that handle them. If conversations.json is [] but numbered files are there, your chats are in the numbered files.
To see every file and its size without unzipping:
- Windows: double-click the ZIP in File Explorer and switch to Details view. The Size column shows each file.
- Mac or Linux: run
unzip -l your-export.zipin a terminal. - Any system with Python: this short script lists the JSON files and their sizes (download). It reads only the ZIP's table of contents, so it is instant even on a huge export.
import sys
import zipfile
with zipfile.ZipFile(sys.argv[1]) as z:
for info in sorted(z.infolist(), key=lambda i: i.filename):
if info.filename.lower().endswith(".json"):
print(f"{info.file_size:>15,} bytes {info.filename}")
Run python check_export.py your-export.zip. A file that holds only [] shows as 2 bytes. On a test ZIP with an empty main file and two numbered files, the output looked like this:
2,769 bytes conversations-000.json
1,385 bytes conversations-001.json
2 bytes conversations.json
13 bytes group_chats.json
2 bytes shopping.json
3. Check the account and workspace
OpenAI's help page says an export comes from one signed-in account or workspace, and it limits who can export:
- Self-service export is available for ChatGPT Free, Go, Plus, Pro and eligible Edu workspaces.
- It is not available in ChatGPT Business, Enterprise or ChatGPT for Healthcare workspaces. OpenAI says to contact your workspace owner about data access there.
- In Edu, it depends on your role and the workspace settings.
So an export from your personal account will not hold chats that live in a Business workspace. If you are about to move or merge a personal workspace into a managed one, OpenAI says to request, download and check your export first. After the personal workspace is removed, you may not be able to open an earlier export link or request a new export from it.
4. Deleted chats do not come back
OpenAI says an export cannot restore chats that were already deleted, and support cannot restore them either. If you used "Delete all chats", the export will not have them.
5. Archived chats and chats in projects
- Archived chats: OpenAI says archiving keeps a chat in your account and does not delete it. Its export page does not say in so many words that archived chats are included. The convoviz spec lists an
is_archivedfield on each conversation, which suggests they are inconversations.jsonwith that flag set. If you are missing chats, also look under Settings, Data controls, Archived chats. - Chats in projects: we did not find an OpenAI page that says whether project chats are in the export. We do not know, so check for a few project chats by title before you delete anything.
6. Timing and the download link
- OpenAI says exports can take up to 7 days to arrive. If you already requested one, wait for it to finish before you ask again.
- The download link expires 24 hours after you receive it. Download it while signed in to the same account that asked for it. If it expired, request a new export.
- Make sure the ZIP finished downloading. A cut-off ZIP usually fails to open at all rather than showing
[].
What we do not know
We do not know why some exports come back with an empty conversations.json and no numbered files when the account clearly has chats. OpenAI's help pages do not mention that case. If none of the checks above explain it, contact OpenAI Support. The missing chats section of their deleting and archiving page asks you to include your account email and sign-in method, the workspace name if any, the rough dates of the missing chats, and the checks you already did.
Open the export without hunting for the right file
Chat Archive Viewer is a Chrome extension that opens the export ZIP as is. It reads conversations.json and every numbered conversations-000.json file in the ZIP in one go, so an empty main file next to numbered files is not a problem. If the ZIP has no conversations file at all, it tells you so. If every conversations file is empty, it reports 0 chats, which tells you the problem is the export itself. Free covers your newest 100 chats; Pro ($12 once) opens all of them. It has no access to any website, so it never touches your ChatGPT account. Get it from the Chrome Web Store.
Sources
- OpenAI Help Center, "Exporting your ChatGPT history and data" (read October 30, 2026): help.openai.com/en/articles/7260999
- OpenAI Help Center, "Deleting and archiving chats in ChatGPT" (read October 30, 2026): help.openai.com/en/articles/8809935
- convoviz, ChatGPT export specification v3.0: github.com/mohamed-chs/convoviz
- convoviz, export loader with split file support: github.com/mohamed-chs/convoviz
- r/OpenAI, comment on an empty export, October 29, 2026: reddit.com/r/OpenAI/comments/1xhnokr
- Script output and Chat Archive Viewer behavior: tested by 1088 Labs on synthetic ZIPs, October 2026.