Uploading files: the limits that decide what gets read
ChatGPT
This page covers tools outside your selection. You can still read it. Find matching guides
A file can be well under the size limit and still be truncated, because the binding constraint is a token cap rather than megabytes. Storage is shared across chats, projects and custom GPTs.
Pasting a log into a chat and uploading it are not the same operation, and the upload path has limits that are easy to hit without being told which one you hit. Three of them do most of the damage.
Size is not the binding constraint
The headline number is generous: a hard limit of 512 MB per file. Almost nothing you upload by hand approaches it.
The one that actually bites sits underneath. Text and document files are capped at 2 million tokens per file, and that cap does not apply to spreadsheets. A large log or an exported transcript can be comfortably inside 512 MB and well past two million tokens, at which point you are no longer working with the file you think you uploaded.
The other ceilings are narrower and easier to predict:
- CSV files and spreadsheets: roughly 50 MB, varying with row size.
- Images: 20 MB each.
- Custom GPTs: up to 10 files for the lifetime of that GPT.
Storage is one pool
Two different limits get confused with each other, and the FAQ separates them explicitly because people conflate them.
A rolling rate. Up to 80 files every three hours, and 3 per day on Free. OpenAI notes limits may be lowered at peak times, and that failed upload attempts can count toward this cap. So a run of errors can produce a limit message that looks unrelated to what you actually managed to upload.
A storage cap. 25 GB per user and 100 GB per organisation, and this one is shared across chats, Projects and custom GPT knowledge. Filling a project with reference material eats the same allowance as the files you drop into ordinary conversations.
You can see Library usage under Settings → Storage. ChatGPT does not currently show how much of the rolling upload-rate quota remains, which is why that error tends to arrive without warning.
Project file counts are capped separately by plan: 5 on Free, 25 on Go and Plus, 40 on Edu, Pro, Business and Enterprise.
Files outlive the conversation
Files uploaded to a custom GPT or a project are kept until that GPT or project is deleted, and removed within 30 days after that.
Try this
Upload a large text file, then ask for something that could only be answered from its final section. If the answer is vague or drifts to the opening, you have found the token cap rather than a comprehension problem, and the fix is to split the file rather than to rephrase the question.
What goes wrong
Reading 512 MB as the limit that matters. For text, the two-million-token cap arrives first.
Assuming a deleted chat took its uploads with it. Library files survive.
Treating a project's knowledge as free storage. It draws on the same 25 GB.
Retrying a failed upload repeatedly. Failed attempts can count toward the rolling rate cap, so retries can be what finally locks you out.
Uploading a spreadsheet expecting the token rules to apply. They do not, and the size ceiling is much lower instead.
How to check it worked
Ask a question whose answer sits at the end of the document rather than the beginning, and one whose answer requires a row in the middle of a spreadsheet. Those two probes tell you whether the whole file is in play. Then open Settings → Storage and confirm the upload landed where you expected, because a file in Library and a file attached to a project are different objects with different lifetimes.
Sources
- File Uploads FAQ — OpenAI Help Center Tier 1 2026-09-10
- Chat and File Retention Policies in ChatGPT — OpenAI Help Center Tier 1 2026-09-10
Something wrong with this page?
Say what you expected and what you got. That is usually the shortest route to a correction, and it goes on the public issue tracker so the fix is visible.