Fastest fix: if you just see a vague Unknown error occurred or Failed to upload, the upload almost always failed for one of three reasons. Check them in this order: (1) the file is over a real limit (512 MB hard cap, but 2M tokens for text, ~50 MB for spreadsheets, 20 MB per image), (2) it’s a type ChatGPT can’t parse (scanned/encrypted PDF, .pages, .numbers, .heic), or (3) a browser extension is blocking the upload channel. Retry in an incognito window with a small, plain-named test file first — if that works, the original file or your extensions are the cause.
ChatGPT upload failures come in distinct shapes, and each has a different cause. This guide sorts them by symptom so you fix the right one on the first try.
Identify which case you’re in
| Symptom | Most likely cause |
|---|---|
| Stuck at 0%, never moves | Network / browser extension / Cloudflare challenge |
Bar completes, then Failed to upload / Unknown error occurred | File too large, unsupported type, or daily upload cap |
| Uploads OK but ChatGPT says it can’t read the text | Scanned (image-only) PDF or encrypted PDF |
| Image uploads but ChatGPT says “I can’t see it” | Vision throttled, or you hit the per-message image cap |
| Attach button is greyed out or missing | Free-plan daily limit reached, or feature not on your plan |
First, rule out an OpenAI-side outage
Before you change anything, check status.openai.com. File upload has had real platform incidents — most notably a widespread Unknown error occurred bug that blocked attachments for many users through May 2026. If the status page shows an active “elevated errors uploading files” incident, no local fix will help; wait it out or paste your text directly into the chat box (text pasted into the message field has no size limit).
The real upload limits (verified June 2026)
Cause #1 below is the single most common failure, so start with the actual numbers from OpenAI’s File Uploads FAQ:
| Limit | Value | Notes |
|---|---|---|
| Hard per-file size | 512 MB | Applies to every plan and to Custom GPTs |
| Text / document content | 2M tokens per file | A long PDF can be under 512 MB and still rejected for too much text |
| Spreadsheet / CSV | ~50 MB | Effective limit depends on row size |
| Single image | 20 MB | Processed by Vision |
| Free plan uploads | 3 files / day | Resets 24h after your first upload, not at midnight |
| Plus uploads | up to 80 files / 3 hours | 10 attachments per message |
| Pro uploads | effectively unlimited | Subject to fair-use throttling |
| Storage per user | 25 GB | Org cap is 100 GB |
The trap: people see “512 MB” and assume any smaller file is fine. In practice a 5 MB, 300-page PDF can fail on the 2M tokens text cap, and a 40 MB image fails on the 20 MB Vision cap. Match your file against the right row, not just the size row.
9 causes by hit rate
1. Over a limit (most common)
You’re under 512 MB but still failing. Check the right limit from the table above.
Fix:
- PDFs: split into batches and keep each well under the
2M tokenceiling (roughly 200-300 dense pages). - Excel: delete empty sheets, pivot tables, and embedded charts; keep under
~50 MB. - Images: compress to under
20 MB(screenshots are already small PNGs). - Large or frequently reused files: put them in a Project so the file persists across chats instead of re-uploading.
2. File type ChatGPT can’t parse
Supported and reliable: PDF, DOCX, XLSX, CSV, TXT, JSON, Markdown, common code files, and images as PNG / JPG / WebP / non-animated GIF.
Unsupported or frequently failing — convert first:
| File | Convert to |
|---|---|
.pages (Apple Pages) | Export to PDF |
.numbers (Apple Numbers) | Export to XLSX |
.zip / .rar | Extract and upload files individually |
| Password-protected PDF | Re-save without the password |
.dwg / .psd | Export to PNG |
.heic (iPhone default) | Convert to JPG |
3. Scanned PDF (image-only)
It looks like a text PDF but is really a picture of text. The upload succeeds, then ChatGPT says it can’t read the text — its parser does not OCR image-only PDFs.
Fix:
- Run OCR first (Adobe Acrobat’s “Recognize Text”, or a reputable online OCR tool) to produce a searchable-text PDF.
- Quick test: open the PDF and try to select a sentence with your cursor. If you can’t highlight text, it’s a scan.
- Alternative: screenshot the pages and upload them as images so Vision reads them.
4. Encrypted / password-protected PDF
Many corporate PDFs ship with security even when no password prompt appears. These fail to upload or read as empty.
Fix:
- In Acrobat or macOS Preview, re-save (Print to PDF / Export) to strip the protection.
- Confirm in the PDF’s security properties that “Document Open Password” and content-extraction restrictions are off.
5. Browser extension blocking the upload
Ad blockers and privacy extensions frequently break the upload channel, which shows up as stuck-at-0% or Unknown error occurred.
Fix:
- Retry in an incognito/private window (extensions are off by default there). If it works, an extension is the cause.
- Disable uBlock Origin / Privacy Badger / Ghostery for the ChatGPT tab.
- Whitelist
chatgpt.com,chat.openai.com, andfiles.oaiusercontent.com.
6. Vision throttled or per-message image cap
Image uploads succeed but ChatGPT says it can’t see them. This is usually temporary Vision throttling or exceeding the per-message attachment cap (10 on Plus), not a regional block.
Fix:
- Open a fresh chat and re-upload a single image.
- Reduce the number of images in one message.
- Check
status.openai.comfor a Vision-specific incident.
7. Plan doesn’t include the feature, or daily cap hit
On Free, the attach button greys out after 3 files in a 24-hour window, and advanced data analysis (the old Code Interpreter) is limited.
Fix:
- Wait for the rolling 24-hour reset, or upgrade to Go / Plus / Pro for higher caps.
- For programmatic or bulk needs, use the ChatGPT API and handle the file yourself.
8. Special characters in the filename
Filenames with #, ?, emoji, or mixed non-ASCII characters occasionally break the upload.
Fix:
- Rename to plain ASCII: letters, digits, hyphens, underscores.
- Use
report_q1.pdfinstead of a name that mixes full-width brackets, emoji, and symbols like#.
9. Message sent before the upload finished
Pressing Enter while the progress bar is still moving cancels the in-flight upload.
Fix:
- Wait until the attachment shows its completed thumbnail/checkmark before sending.
Shortest fix path
Work top-down; most failures resolve in the first three steps:
- Check status.openai.com for an active upload incident.
- Test a small, plain-named file in an incognito window.
- Match your file to the correct limit (size, tokens, spreadsheet, or image) and trim it.
- Convert tricky types to PDF / PNG / TXT / XLSX.
- Switch browser (Chrome ↔ Safari) or network (Wi-Fi ↔ cellular).
- For “can’t read” PDFs, OCR into a searchable PDF.
- For “can’t see image,” open a new chat and re-upload one image.
How to confirm it’s fixed
- The attachment shows a completed thumbnail or checkmark before you send.
- Ask a content-specific question (“What is the total in row 14?” or “Summarize section 3”) and confirm the answer references real content, not a generic guess.
- For a PDF you suspected was a scan, ask ChatGPT to quote an exact sentence from a later page. If it can, OCR worked.
Easy misjudgments
- “Too large” → actually too much text: a 5 MB, 300-page PDF fails on the
2M tokencap, not on size. - “Format issue” → actually a scanned PDF: it looks like a PDF but is an image of text.
- “Network issue” → actually the filename: special or non-ASCII characters.
- “Account issue” → actually Vision throttling: text chat works; only image reading fails.
Prevention
- Compress or re-export PDFs before uploading to drop below the token and size caps.
- Screenshot instead of uploading photos — screenshots are small PNGs and bypass HEIC issues.
- Split PDFs over ~200 pages into a few uploads.
- Keep filenames plain ASCII: letters, digits, hyphens.
- Store important reference files in a Project so you don’t re-upload them every conversation.
FAQ
Q: Excel uploads always fail. What now?
A: Save the sheet as CSV first and delete empty/hidden tabs. CSV parses far more reliably, and it sidesteps the ~50 MB spreadsheet ceiling.
Q: The image uploaded but ChatGPT says “I can’t see it.” Why?
A: Almost always temporary Vision throttling or too many images in one message. Open a new chat and re-upload a single image under 20 MB.
Q: My PDF uploaded but ChatGPT only answers about the first few pages. Why? A: The model only read what fit in context, or part of the text hit the truncation point. Split the PDF into sections, or point it precisely: “Find and summarize the section on X.”
Q: I keep getting Unknown error occurred and my file is small and valid. Is it me?
A: Possibly not. This exact string was tied to an OpenAI-side upload incident through May 2026. Check status.openai.com; if there’s an active incident, paste your text into the chat box instead — pasted text has no size limit.
Q: Can I upload video or long audio? A: ChatGPT web/desktop does not directly process video or long audio files. Transcribe to text first, then upload the transcript.
Q: How do I fix HEIC photos from my iPhone? A: Either change Settings → Camera → Formats → Most Compatible (which saves JPG), or convert the HEIC to JPG before uploading.
Related articles
- How to Fix ChatGPT Network Error
- How to Fix ChatGPT Stuck on Loading
- ChatGPT Can’t Open: 5-Step Diagnostic
- What to Do When Claude Usage Limit Is Reached
- ChatGPT beginner guide
- ChatGPT prompt improvement
- ChatGPT model selection guide
Tags: #ChatGPT #Debug #Troubleshooting