ChatGPT lets you upload files, but not infinitely. There’s a per-file size cap, a per-message count, a rolling rate limit, an overall storage cap, and a separate (tighter) limit for images. On top of that, the limits are different on Free, Plus, and Pro — and they’re not displayed anywhere in the interface.
This guide lays out every ChatGPT file upload limit in 2026, exactly as they apply on each plan, plus the workarounds when you hit one.
The short answer
If you just want the numbers without the context:
- File size: up to 512 MB per file, 20 MB per image
- Text file tokens: up to 2 million tokens per file (applies to PDFs, Word docs, TXT, CSV, code)
- Free tier: roughly 3 files per day, shared across all chats
- Plus: approximately 80 files per 3-hour rolling window, with a max of 10 files per single message
- Pro: effectively unlimited (subject to abuse guardrails)
- Storage cap: 10 GB per user, 100 GB per organization
Everything below explains how these actually work in practice — and what to do when you run into the wall.
File size limits (the hard cap every plan hits)
The per-file size cap is the only limit that doesn’t change between plans. Whether you’re on Free, Plus, or Pro, the ceiling is the same:
| File type | Size limit |
|---|---|
| Images (JPG, PNG, GIF, WEBP, HEIC) | 20 MB per image |
| Documents (PDF, DOCX, PPTX, XLSX) | 512 MB per file |
| Data files (CSV, JSON, XML, TXT) | 512 MB per file |
| Code files | 512 MB per file |
| Audio (MP3, WAV, M4A) | 25 MB per file in voice mode |
| Archives (ZIP) | 512 MB per archive |
Two things worth knowing:
Images have a much lower cap because ChatGPT processes them differently. Every image is converted to tokens during analysis, and high-resolution images consume a huge amount of context. The 20 MB cap keeps processing fast and consistent. If you’re hitting it, compress the image or reduce the resolution before uploading — a phone photo at 4000×3000 usually compresses 70% smaller with no visible quality loss.
512 MB covers almost anything you’ll realistically upload. A 300-page PDF sits around 5–20 MB. A large Excel workbook rarely exceeds 50 MB. If you’re over 512 MB, you’re working with data big enough that ChatGPT’s context window will choke long before the file size does.
The 2-million-token cap (the sneaky limit for text-heavy files)
Even if your file is comfortably under 512 MB, it can still be rejected for having too much text content. ChatGPT caps text files at 2 million tokens — roughly 1.5 million words, or about 3,000 printed pages.
This matters because a single 100 MB PDF full of text can easily exceed the token limit. When it does, ChatGPT either truncates the content (meaning it only reads the first portion) or rejects the file entirely.
How to know if your file hit the token cap:
- ChatGPT answers about the early pages but claims the later pages don’t exist
- The response references content inconsistently across the document
- You get a direct error saying the file is too large to process
How to fix it: split the file. A 3,000-page PDF processed as three 1,000-page PDFs gives you consistent, accurate responses; the same file uploaded whole gives you noise.
How many files can you upload per day? (Free vs Plus vs Pro)
This is where the plan you’re on matters most.
| Plan | Per message | Rolling rate limit | Effective daily ceiling |
|---|---|---|---|
| Free | 1 | ~3 files per day | ~3 files |
| Plus ($20/mo) | 10 | ~80 files per 3 hours | ~200–300 files |
| Pro ($200/mo) | 10 | No hard cap | Unlimited (within reason) |
| Team | 10 | Higher than Plus | Much higher |
| Enterprise | 10 | Custom | Custom |
A few things to understand about these numbers:
The “rolling window” part trips people up. Plus users don’t get 80 uploads at midnight each day — the 3-hour window slides continuously. If you upload 50 files at 10 AM, then another 30 at 11 AM, you’ve used 80 and you’re blocked until around 1 PM (when your 10 AM uploads age out of the window).
Failed uploads can count against your quota. If an upload fails mid-way or errors out, it may still consume one of your allotted slots. OpenAI has acknowledged this. Double-check your connection and file size before uploading to avoid wasting quota.
Free tier is a demo, not a workflow. Three uploads per day is enough to try ChatGPT’s file handling — it’s not enough to actually use it for anything repetitive. If you’re uploading files regularly, Plus pays for itself the first time you dodge the limit.
Pro has “abuse guardrails,” not a hard cap. Meaning: if you suddenly upload 50,000 files in 10 minutes, OpenAI will throttle you. For any realistic use pattern, Pro is genuinely unlimited.
Storage caps (the one most people forget about)
Beyond per-file and per-upload limits, there’s a total storage cap per account:
- Individual users: 10 GB
- Teams / Organizations: 100 GB
This storage is shared across all your chats, all your Projects, and all your Custom GPTs’ knowledge files. Delete a file from one chat and you recover the storage for another.
The storage cap surprises users because there’s no indicator anywhere in the UI. ChatGPT doesn’t show how much you’ve used. It just starts rejecting uploads when you hit the ceiling.
How to check your usage: you can’t, directly. OpenAI doesn’t expose a dashboard. Your only signals are (1) uploads starting to fail even when you’re within daily caps, or (2) receiving an “out of storage” error when attaching a new file.
How to free up storage: delete old chats that have attached files, remove files from old Projects, or delete entire custom GPTs you’re no longer using.
ChatGPT image upload limit (the separate, tighter cap)
Image uploads get their own set of limits that are tighter than document uploads. Here’s how they work on each plan:
| Plan | Images per message | Images per day (approx) | Per-image size |
|---|---|---|---|
| Free | 1–2 | Limited, tied to GPT-4o usage cap | 20 MB |
| Plus | 10 | Effectively unrestricted for normal use | 20 MB |
| Pro | 10 | Unrestricted | 20 MB |
Image caps are tied more tightly to the model’s usage limit than to a per-file rate limit. Free users sharing GPT-4o capacity will hit image-analysis caps before they hit most text-file caps.
Supported image formats: JPG, JPEG, PNG, GIF (static only), WEBP, HEIC.
If you need to upload more images than your plan allows, two practical workarounds: combine multiple images into a single collage (ChatGPT can usually parse each section), or convert them into a PDF (you then fall under document limits instead of image limits).
For a deeper walkthrough on actually attaching images — including the paperclip/+ menu, drag-and-drop, and paste-from-clipboard — see our guide on how to upload images to ChatGPT.
What file types does ChatGPT actually accept?
The full supported list as of 2026:
Documents
- PDF, DOCX (Word), PPTX (PowerPoint), TXT, RTF, ODT, EPUB, Markdown (.md)
Spreadsheets
- XLSX (Excel), XLS, CSV, TSV, ODS
Code
- PY, JS, TS, JSON, XML, HTML, CSS, SQL, C, CPP, JAVA, GO, RS, RB, PHP, SH, YAML — plus about 40 others. If your language has a common extension, ChatGPT usually accepts it.
Images
- JPG, JPEG, PNG, GIF (static), WEBP, HEIC, BMP, TIFF
Audio (in voice-enabled chats)
- MP3, WAV, M4A, FLAC, OGG
Data
- JSON, YAML, XML, Parquet (via code interpreter)
Archives
- ZIP (extractable inside ChatGPT), TAR, GZ
Not supported:
- Folders directly (zip them first)
- Executables (.exe, .msi, .dmg)
- Proprietary database formats (.sqlite will work if you rename; .mdb will not)
- Video files (ChatGPT can’t process video natively in 2026 — extract frames or audio first)
Limits for Projects and Custom GPTs (they’re different)
Projects and Custom GPTs have their own file limits that are separate from regular chat uploads:
| Feature | Free | Plus | Pro |
|---|---|---|---|
| Files per Project | Limited | Up to 20 | Up to 40 |
| Files per Custom GPT knowledge | N/A (can’t create) | Up to 20 | Up to 20 |
| Project storage | Shared 10 GB | Shared 10 GB | Shared 10 GB |
The knowledge files you upload to a Project or a Custom GPT persist across all chats using that Project or GPT — unlike regular chat uploads, which are scoped to a single conversation. That’s why the limits are tighter: each file gets used more heavily.
“I hit the limit” — here’s what to actually do
When you see one of these errors:
- “You’ve reached your file upload limit”
- “Upload failed: file too large”
- “Sorry, your account has exceeded its storage”
- “There was an error processing your file”
Run through this list:
1. Check which limit you actually hit. The error messages are vague. If it says “upload limit,” check the time — Plus users regain capacity as old uploads age out of the 3-hour window. If it says “file too large,” check the size against the caps above.
2. Compress before uploading. For PDFs, use a tool like Smallpdf, ILovePDF, or your OS’s built-in print-to-PDF (which often compresses significantly). For images, resize to 1920px wide or smaller unless you genuinely need full resolution. For CSVs, strip unused columns.
3. Split large files. If a PDF is over 300 pages or 100 MB, split it in half. ChatGPT handles three 100-page PDFs infinitely better than one 300-page file, even when the 300-page file is technically within limits.
4. Combine small files into one. The opposite problem: if you’re trying to upload 15 code files and hit the per-message cap of 10, concatenate them into a single text file. Most code editors can do this, or use a short script. You’ll use one upload slot instead of ten.
5. Use a ZIP archive. ChatGPT Plus and Pro can unzip archives via code interpreter and analyze the contents. A 50-file ZIP counts as one upload.
6. Wait for the window to reset. If you’re on Plus and hit 80 uploads in a 3-hour period, the oldest uploads will age out at the 3-hour mark. Come back in an hour or two; most of your quota is back.
7. Delete old files to recover storage. If you’ve hit the 10 GB cap, go through old chats, Projects, and Custom GPTs and delete the ones you no longer need.
8. Upgrade, if you’re on Free. Three files per day isn’t a limit — it’s a preview. For any real work, Plus is the floor.
How to avoid hitting these limits in the first place
A few habits that dramatically cut how often you see these errors:
- Resize images before uploading. A 4000×3000 phone photo doesn’t produce better answers than a 1920×1440 version — ChatGPT downsamples internally anyway.
- Use CSVs instead of XLSX when possible. They’re 5–10x smaller for the same data, and ChatGPT handles them faster.
- Split long PDFs at natural boundaries (chapters, sections). You’ll get better answers and stay under the token cap.
- Clean your storage quarterly. Old projects and custom GPTs accumulate files you don’t remember uploading.
- Separate your Projects. If you have a Project accumulating dozens of files, split it into two focused Projects instead.
- For heavy file work, batch during off-peak hours. The daily caps are cleaner to plan around when you’re not competing with your own earlier uploads.
Frequently asked questions
How many files can I upload to ChatGPT per day on the free plan? Approximately 3 per day. OpenAI doesn’t publish exact numbers and may adjust based on server load, but 3 is the typical ceiling.
What’s the max file size ChatGPT accepts? 512 MB for documents, data, code, and archives. 20 MB for images. 25 MB for audio.
Can I upload folders to ChatGPT? Not directly. Compress the folder into a ZIP file first. On Plus and Pro, ChatGPT’s code interpreter can unzip and process the contents.
Does ChatGPT show how much of my upload quota I’ve used? No. There’s no dashboard or counter. You only learn you’ve hit the limit when an upload fails. This is genuinely annoying and on OpenAI’s roadmap to fix, but as of 2026 it still isn’t exposed.
Do failed uploads count against my quota? Sometimes yes. OpenAI has confirmed that failed uploads can count toward rate limits. Check your connection, file size, and format before hitting send.
Is there a per-message file limit on Plus? Yes — 10 files per single message on all paid plans. If you need to upload 30 files, send them across 3 messages.
What happens if my PDF is under 512 MB but has more than 2 million tokens? ChatGPT either truncates the content (reads only the first portion) or rejects the file. The fix is splitting it into smaller files.
Do images count toward my text-file upload quota? They count toward your overall upload rate limit (the 80 per 3 hours on Plus), but they have their own separate size cap of 20 MB and their own per-message cap.
Can I bypass the limit by using the API instead of ChatGPT? The OpenAI API has different limits and pricing. It’s worth considering if you’re regularly working with many files, but the learning curve is steeper and you pay per token rather than a flat monthly fee.
Is the Team or Enterprise plan worth it just for higher upload limits? If upload volume is your main constraint, Pro ($200/mo) is usually the cheapest path to effectively unlimited uploads. Team and Enterprise are priced for organizational features (admin, SSO, data controls) that most individuals don’t need.
The ChatGPT file upload limits in 2026 are tighter than most people realize, especially on Free, and they’re not displayed anywhere — so you only discover them when an upload fails. The practical shape of the limits comes down to three numbers: 512 MB per file, 20 MB per image, and 80 files per 3 hours on Plus. Stay inside those and you’ll rarely hit a wall.
If you run into upload problems that go beyond file-size or rate limits, our guide on fixing “Error in message stream” in ChatGPT covers the streaming and connection issues that often show up during uploads. And if your account is shared or needs a fresh password reset before a big upload session, the ChatGPT password change guide walks through the full flow.