Ah, this helps! Hopping into the community and searching for related topics regard the item I was struggling with, I sort of lost track of this in fact being a Developer Forum, not so much a forum for discussion and support on the ChatGPT web interface, its usability and possible issues. I now better understand how to choose which path to follow for developer support versus ChatGPT web interface topics. Thank you for clarifying – much appreciated!
I’ll add that after I reported the problem via the support bot, OpenAI acknowledged the issue, let me know when it was being worked on, and again let me know when it was fixed. Very communicative and helpful.
The fix was urgent for me because I was ready to release a new version of ChatKeeper, which syncs ChatGPT export files with local Markdown files. That’s a very very brief desription, but if it sounds like it might make your exports more useful, I just released it and invite you to check it out!
- Marty
Hi all… I reported this problem all the way back on September 15th 2024 and I have never had any normal response back except the typical, “Check your Spam Folder”, then they would quickly close the ticket before I read it. MISSING My Statement Completely of what I was able to figure out on my own.
Maybe this helps anyone going forward. The Worst Part is
-
Your can NOT save your session that your in for when you do, you immediately get a 404 error page.
-
today I tried to print in to a PDF file, Thought it would work because it said 23 pages, then pages 2-23 was all blank! I mean do they do this on purpose?!
-
you can not change your email, However it NOT a Bug with your email.
-
It kills me that I can’t back up any of my critical sessions since last year despite they are Critical Documents that I PAID for, Was Told I Could ALWAYS Export And Save a Copy of, Which I did 90 times before, (once or twice a month) No longer able to after September 15th 2024…
It is NOT a Spam Folder Thing… As this is reproducible on numerous browsers and different computers with different email accounts.
Dated Sept 15th 2024…
While waiting for any kind of work around or response back from OpenAI, I did the following… and got some results…
I created a brand-new, non-subscription GPT account under the email BlahBlah1@Yahoo.com, which is different from my existing [[my email]] mailto:BlahBlahMyEmail2@Yahoo.com) account—the one GPT has always worked with before.
Using the same settings, parameters, and browsers, I tested the new account, which had only a quick history of asking how the AI was doing today. On this new, empty account, I successfully received an email from GPT.
This confirms that the issue is NOT a Spam Thing or that I am not doing something correctly, for I have done this successfully almost 90 times before without error.
I Feel this is likely caused by either corrupt data on your side of the fence or possibly what ever happened to ChatGPT around September 15th 2024, Like a patch, OS Update or Corrupt JAVA Script or Something being out of Whack, Because GPT Once Tried to do a Simple calculation of something, then Told Me there was Data Corruption in my Save History File and It could no longer do what I asked for. OK… But After that I could no longer download anything database after that and hitting the 75% full limit.
Please send me a backup of my paid account to my registered email
confirmed also not working for me
Yep, down for me too… again. I’ve reported it (also again) using the guidelines posted here which does seem to get proper attention.
Not being able to export makes it REALLY hard for me to work on ChatKeeper…
I could not receive export email since 2025/2/19.
When will the bug be fixed?
I’ve tried several times throughout the day to export my data. I have gmail. I do receive the email, but when I click on the link it starts the download, gets to about 70MB, and then tells me that the file does not exist on the server.
This is especially frustrating since ChatGPT will also not export a transcript of a conversation like it usually does within the chat. I can’t copy the text from the chat or get a download of my data. This is important to my workflow and a very unwelcomed interruption of my day to be chasing my own data in circles.
Why is this not fixed if it was reported months ago? I’m paying $200 a month and cant even access my own data? This is not right at all.
its not working for me either! ive literally tried all you tried except for the changing email. im not going to do that. i get email from openaifourm and every other site i sign up for. not i nspam. tried toggling the share data toggle a few times nothing… also tried from android, chrome, and desktop. this is apparently an intentional thing.
same here,it’s been a week since the last time I received the export data in my gmail,I have the habit of copying the important information I discussed with gpt every week and it really stresses me out If I couldn’t,hope they will fix this bug soon,it seems that a lot of people are having the same problem
Running into the same issue on my end – wonder if its a preventative measure due to the deepseek distiallation claims. Whatever it is, I’d like to be able to download my data.
It has been a week since last time I downloaded my data from email, cannot receive any new email!
I feel the same way. I’m also on the pro tier and feel this issue is quite absurd at this point.
I needed to continue a conversation in a new chat hence I tried to export my conversations in a new chat in order to do that.
Is there a reason why OpenAI has decided to disable this feature?
What’s the essence of being a premium user when I can even do the basic things?
Fix this!
Given how long this issue has occurred, how critical it is, and how neglected it is to not even get a response from them on the issue for months in their own forums, then until people launch an individual or class-action lawsuit over this non-negotiable issue of human and statutory (U.S. code) rights to openAI, looks like they are going to continue to “play dead” over it.
JUST a Friendly FYI UPDATE:
On My System, I Was Successfully Able to Get an EXPORTed DATA Base from
- Newly Created OpenAI Account.
- Using a Newly Created Email Address.
And 5 times in a ROW it Worked Seamlessly.
What "I Feel This Immediately Proves is as Follows…
-
There is NOTHING on My CPU or on the Yahoo Email Server Blocking These Databases.
-
They APPEARED In My Regular INBOX, No Reason To Check SPAM FOLDER
-
The Problem STILL EXISTS as of Today March 17th 2025 and EVerytime I reach out to support, I get either a bot telling me to check spam folders and then they quickly close my case… So I gave up and started using Grok.. At Least Grok is FREE and I Can Easily Print my 37 page PDF file in Seconds… Cant do that in ChatGPT.. There is No Other Way So Far to fix this issue as of today…
Just here to say me too.
Requested weeks ago, nothing showed up, re-requested days ago, same thing, tried again last night… nothing!!! Why?
Y’all, I agree this is wildly non-compliant with data transparency and should have been fixed months ago, but if you’re here to download one or two or 9 conversations, and not your entire history, this is ChatGPT. Bulk exports would still be a pain but otherwise, just ask ChatGPT to write you a client-side javascript scraper that scrapes the conversation out of your browser.
Here’s my actual full chat transcript actually downloaded by the code I asked it to make. You can either copy/paste the final code, at the end or just review my prompts to make chat to do it for you [I do not endorse C/Ping random code found online into your browser, but I’m trustworthy to me at least]. All you need to know is how to paste it into the browser’s developer console. It will tell you how to do that too.
Note: I will mention this pulls for a chat no matter how long, but you do have to scroll as high as you want it. It must populate on the screen. I just drag the bar up till the start because i have very long individual chats.
=== You ===
Ironically chat, I've had you do a lot of code things, but now I need you to do one on yourself. I cannot get the export batch to work in ChatGPT and according to this help page from your site this is a recurring issue.
https://community.openai.com/t/chatgpt-export-data-to-email-not-working/1024545/35
So, I need to scrape a clean .txt file of the conversation we have in this window, using the browser code that targets this chat. Can you please write a script that pulls that for me?
______________________________
=== ChatGPT ===
Absolutely—I’ve got your back. Since you're aiming to scrape the current chat conversation from ChatGPT’s browser window into a .txt file, we can use a browser-side script that you’ll run in the Developer Console (press Cmd+Option+I on Mac or Ctrl+Shift+I on Windows and go to the Console tab).
Here’s a JavaScript snippet that scrapes the visible conversation and offers it as a .txt download:
✅ Copy-Paste into Your Browser Console
>>>>>>>>>>>>>>>>>>>>>>>>>
javascript
Copy
Edit
(function() {
// Function to clean up and format the chat messages
function extractChatText() {
const messages = document.querySelectorAll('[data-message-author-role]');
let textContent = [];
messages.forEach((msg) => {
const role = msg.getAttribute('data-message-author-role');
let contentEl = msg.querySelector('.markdown, .prose');
let content = contentEl ? contentEl.innerText.trim() : '';
if (content) {
let roleLabel = role === 'user' ? 'You' : 'ChatGPT';
textContent.push(`\n=== ${roleLabel} ===\n${content}`);
}
});
return textContent.join('\n\n');
}
// Function to trigger download
function downloadTextFile(filename, text) {
const blob = new Blob([text], { type: 'text/plain' });
const a = document.createElement('a');
a.href = URL.createObjectURL(blob);
a.download = filename;
a.click();
URL.revokeObjectURL(a.href);
}
const chatText = extractChatText();
if (chatText.length > 0) {
downloadTextFile('chatgpt_conversation.txt', chatText);
console.log('✅ Chat exported successfully.');
} else {
console.warn('⚠️ No chat content found.');
}
})();
>>>>>>>>>>>>>>>>>>>
📝 Notes:
This grabs all chat messages currently visible in the window. If you’ve scrolled way up or loaded earlier parts of the conversation, it’ll get those too.
You can scroll to load more before running the script if needed.
It labels each message with === You === or === ChatGPT === for readability.
The downloaded file will be named chatgpt_conversation.txt.
Let me know if you want a version that includes timestamps, or if you're trying to scrape multiple sessions at once!
______________________________
=== You ===
great can you modify the name to include the name of the chat?
______________________________
=== ChatGPT ===
Absolutely! Here's a modified version of the script that automatically uses the chat title (as displayed in the left sidebar) as part of the filename.
🧠 Updated Script with Chat Title in Filename
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
javascript
Copy
Edit
(function() {
// Helper to sanitize filenames
function sanitizeFilename(name) {
return name.replace(/[<>:"/\\|?*]+/g, '').trim().replace(/\s+/g, '_');
}
// Get the title from the sidebar (left pane)
function getChatTitle() {
const activeTitleEl = document.querySelector('nav [aria-current="page"]');
return activeTitleEl ? activeTitleEl.textContent.trim() : 'chatgpt_conversation';
}
// Extracts messages
function extractChatText() {
const messages = document.querySelectorAll('[data-message-author-role]');
let textContent = [];
messages.forEach((msg) => {
const role = msg.getAttribute('data-message-author-role');
let contentEl = msg.querySelector('.markdown, .prose');
let content = contentEl ? contentEl.innerText.trim() : '';
if (content) {
let roleLabel = role === 'user' ? 'You' : 'ChatGPT';
textContent.push(`\n=== ${roleLabel} ===\n${content}`);
}
});
return textContent.join('\n\n');
}
// Trigger download
function downloadTextFile(filename, text) {
const blob = new Blob([text], { type: 'text/plain' });
const a = document.createElement('a');
a.href = URL.createObjectURL(blob);
a.download = filename;
a.click();
URL.revokeObjectURL(a.href);
}
// Run export
const chatTitle = sanitizeFilename(getChatTitle());
const chatText = extractChatText();
const filename = `${chatTitle}.txt`;
if (chatText.length > 0) {
downloadTextFile(filename, chatText);
console.log(`✅ Chat exported as "${filename}"`);
} else {
console.warn('⚠️ No chat content found.');
}
})();
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
💡 Pro Tip:
If the title isn't showing up (sometimes the aria-current="page" trick misses), just rename the file afterward or let me know—we can fall back to grabbing the title from the <title> tag or a manual prompt.
Would you like it to also include the date in the filename?
______________________________
=== You ===
Thanks! Now it seems when I do this that it's not actually pulling my side of the conversation. Additionally, I would like to put 30 underscores signs "_" seperated by enters in a row to seperate my and your messages like this:
[enter]
______________________________
[enter]
______________________________
=== ChatGPT ===
Perfect, thanks for that detail—let's make those changes:
✅ Fix the issue where your (user) messages aren't being pulled. This usually happens because some user messages are rendered slightly differently in the DOM. We'll expand the selector to catch them reliably.
✅ Add a 30-underscore divider (______________________________) between each message block, exactly as you described.
💻 Updated Script: Fixes + Divider Between Messages
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
javascript
Copy
Edit
(function() {
// Sanitize filenames for download
function sanitizeFilename(name) {
return name.replace(/[<>:"/\\|?*]+/g, '').trim().replace(/\s+/g, '_');
}
// Get the chat title from the sidebar
function getChatTitle() {
const activeTitleEl = document.querySelector('nav [aria-current="page"]');
return activeTitleEl ? activeTitleEl.textContent.trim() : 'chatgpt_conversation';
}
// Extract messages from the DOM
function extractChatText() {
const messages = document.querySelectorAll('[data-message-author-role]');
const divider = '\n______________________________\n';
let textContent = [];
messages.forEach((msg) => {
const role = msg.getAttribute('data-message-author-role');
let contentEl = msg.querySelector('.markdown, .prose, .whitespace-pre-wrap');
let content = contentEl ? contentEl.innerText.trim() : '';
if (content) {
let roleLabel = role === 'user' ? 'You' : 'ChatGPT';
textContent.push(`${divider}\n=== ${roleLabel} ===\n${content}`);
}
});
// Add final divider
textContent.push('\n' + divider);
return textContent.join('\n');
}
// Trigger download
function downloadTextFile(filename, text) {
const blob = new Blob([text], { type: 'text/plain' });
const a = document.createElement('a');
a.href = URL.createObjectURL(blob);
a.download = filename;
a.click();
URL.revokeObjectURL(a.href);
}
// Run export
const chatTitle = sanitizeFilename(getChatTitle());
const chatText = extractChatText();
const filename = `${chatTitle}.txt`;
if (chatText.length > 0) {
downloadTextFile(filename, chatText);
console.log(`✅ Chat exported as "${filename}"`);
} else {
console.warn('⚠️ No chat content found.');
}
})();
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
👀 What's New:
More flexible selector: Now also checks .whitespace-pre-wrap for user messages in case the rendering is different.
Divider between each message: Exactly ______________________________ with newlines before and after.
Final divider: Ends the file with one last separator for completeness.
Let me know if you'd like timestamps, better Markdown formatting, or if you're scraping multiple chats at once!
______________________________
=== You ===
Awesome, now may I ask how I paste this into the developer consol please?
______________________________
=== ChatGPT ===
Absolutely! Here’s how to do it step by step—super easy once you’ve done it once:
✅ How to Paste the Script into the Developer Console
Open ChatGPT in your browser.
Make sure you're on the specific chat you'd like to export.
Open Developer Tools (a.k.a. the "Dev Console"):
On Mac: Press Command ⌘ + Option ⌥ + I
On Windows/Linux: Press Ctrl + Shift + I
Or right-click anywhere on the page and select "Inspect", then go to the Console tab.
Switch to the "Console" tab at the top of the developer tools panel.
Paste the script (from above) into the console.
Press Enter or Return.
✅ What Happens Next:
A download will immediately trigger for a .txt file.
The filename will be the current chat title (like my_project_chat.txt).
You'll see confirmation in the console:
✅ Chat exported as "my_project_chat.txt"
⚠️ Small Tips:
If you don’t see your whole conversation, scroll up in ChatGPT first so it loads earlier messages, then run the script.
You can rerun the script at any time—just paste and hit Enter again.
Let me know if you want to turn this into a bookmarklet for one-click reuse!
______________________________
If you just want the code it produced:
(function() {
// Sanitize filenames for download
function sanitizeFilename(name) {
return name.replace(/[<>:"/\\|?*]+/g, '').trim().replace(/\s+/g, '_');
}
// Get the chat title from the sidebar
function getChatTitle() {
const activeTitleEl = document.querySelector('nav [aria-current="page"]');
return activeTitleEl ? activeTitleEl.textContent.trim() : 'chatgpt_conversation';
}
// Extract messages from the DOM
function extractChatText() {
const messages = document.querySelectorAll('[data-message-author-role]');
const divider = '\n______________________________\n';
let textContent = [];
messages.forEach((msg) => {
const role = msg.getAttribute('data-message-author-role');
let contentEl = msg.querySelector('.markdown, .prose, .whitespace-pre-wrap');
let content = contentEl ? contentEl.innerText.trim() : '';
if (content) {
let roleLabel = role === 'user' ? 'You' : 'ChatGPT';
textContent.push(`${divider}\n=== ${roleLabel} ===\n${content}`);
}
});
// Add final divider
textContent.push('\n' + divider);
return textContent.join('\n');
}
// Trigger download
function downloadTextFile(filename, text) {
const blob = new Blob([text], { type: 'text/plain' });
const a = document.createElement('a');
a.href = URL.createObjectURL(blob);
a.download = filename;
a.click();
URL.revokeObjectURL(a.href);
}
// Run export
const chatTitle = sanitizeFilename(getChatTitle());
const chatText = extractChatText();
const filename = `${chatTitle}.txt`;
if (chatText.length > 0) {
downloadTextFile(filename, chatText);
console.log(`✅ Chat exported as "${filename}"`);
} else {
console.warn('⚠️ No chat content found.');
}
})();
I ordered data export and did get email after a short while - when following the link I get this message: {“detail”:“Not found.”}
Serious Complaint Against OpenAI – 16 Days Without a Solution, No Real Support, No Access to My Files
I’m a ChatGPT Plus subscriber, and I want to publicly warn others about an ongoing issue I’ve been facing with OpenAI for over two weeks. This has been a frustrating and discouraging experience—especially for anyone using the platform for professional purposes.
16 days ago, I started a project within ChatGPT involving the creation of multiple assets: images, graphic resources, audiovisual materials, and strategic documentation. Everything worked fine… until I tried to download the generated files.
The export process is stuck. No download links are generated. I have no access to my own work.
What has OpenAI done since then?
Absolutely nothing helpful.
I’ve sent more than 20 emails to support from day one.
I’ve followed every technical step they asked for (HAR file, testing on multiple devices, detailed technical explanations, etc.).
Yet in EVERY single response, I’ve only received:
- Automated messages
- Generic replies
- Empty promises that it would be fixed the next day
Not once has a real person responded.
There has been zero actual technical follow-up.
My files remain locked and inaccessible.
I’m paying for a professional service and have been completely abandoned.
My work is paralyzed. The files are already generated, but OpenAI won’t let me access them, and there’s no manual override or alternative solution offered.
Final Thoughts:
This experience has completely destroyed my trust in the platform.
If you’re thinking of using OpenAI for a serious or professional project, think twice.
Because if anything goes wrong, you’ll be left entirely alone, stuck in an automated system with no human assistance.
I’m publicly asking OpenAI to resolve this issue now, and to take real responsibility for the service they’re offering.
it seems that the theme is consistent in the review.
emails consistently do not work and the service is crap.
ironically i thought chatgpt was excellent when i used the free set up, but as soon as i paid for the service the quality was worse! go figure???
now i am locked out of my account and there is no one to fix the problem.
my grievances are many but i find that the ai is totally incompetent - it is like talking to a village idiot. and little or no recall as well as messed up logic that is constantly dumb. anyone worried that ai will take over the world need not be worried - at least by chatgpt.