As of July 16, 2026, OpenAI's Projects page lists 5 files per Project on Free, 25 on Go and Plus, and 40 on Edu, Pro, Business, and Enterprise. It separately allows only 10 files to be uploaded at the same time.
There is one official contradiction: OpenAI's File Uploads FAQ still lists 20 files per Project for Plus. Until those Help pages agree, treat a Plus account's live Project UI as the enforcement surface for slots 21 through 25.
A Project file limit is not the same as an upload-rate limit, storage quota, per-file size or token cap, or the knowledge-file limit on a custom GPT. Each counter has a different unit and a different fix.
If a Project is full, count the files in that Project first. Remove stale files, combine only material that still forms one coherent source, or split the work into another Project. Waiting helps only when the active blocker is the rolling upload window; it does not create a new Project slot.
The Current ChatGPT Project File Limit by Plan
Use this table for the number of files that can remain attached to one Project. These are Project-capacity numbers, not daily or rolling upload allowances.
| ChatGPT plan | Projects Help page | File Uploads FAQ | Practical planning number |
|---|---|---|---|
| Free | 5 | not separately listed | 5 files per Project |
| Go | 25 | not separately listed | 25 files per Project |
| Plus | 25 | 20 | plan for 20; use slots 21–25 only if the live UI allows them |
| Edu | 40 | 40 under Education | 40 files per Project |
| Pro | 40 | 40 | 40 files per Project |
| Business | 40 | 40 | 40 files per Project |
| Enterprise | 40 | 40 | 40 files per Project |
OpenAI also says you can create unlimited Projects, so reaching the per-Project cap does not mean the account has reached a Project-count ceiling. It means the current container needs cleanup, better packaging, or a deliberate split.
The two source owners are OpenAI's Projects in ChatGPT page and its File Uploads FAQ. The Projects page owns the current 5/25/40 matrix and the 10-files-at-once rule. The FAQ supplies the conflicting Plus value and the cross-product rate, storage, size, token, image, spreadsheet, and custom-GPT limits.
This conflict has a narrow consequence. It does not make every Project number unknowable. Free is 5 and the higher listed plans are 40 on both relevant surfaces. The uncertainty is whether a Plus account can fill slots 21 through 25. Check the file count shown inside the Project before designing a workflow that depends on those five slots.
Six Different Counters Can Stop the Next File
The phrase “file limit” hides six separate counters. Naming the counter is the fastest way to avoid an ineffective fix.
| Counter | Unit | Current boundary | What changes it |
|---|---|---|---|
| Project capacity | files stored in one Project | 5, 25, or 40 by plan; Plus has an official 20/25 conflict | remove, combine, or move files; create another Project; change plan when capacity is the recurring constraint |
| Simultaneous upload | files selected at the same time | 10 | upload the remaining files in another batch |
| Rolling or daily upload rate | upload attempts over time | up to 80 files per 3 hours; Free is limited to 3 file uploads per day; limits may be lower at peak times | wait for the window to recover, then retry smaller batches |
| Account storage | bytes stored across the account or workspace | 25 GB per end user; 100 GB per organization | use Settings > Storage to find and remove old files |
| Per-file validity | bytes, tokens, or media size in one file | 512 MB general file cap; 2M tokens for text/docs; roughly 50 MB for spreadsheets; 20 MB per image | compress, filter, split, or extract the relevant material |
| Custom GPT knowledge | files attached as GPT knowledge | up to 10 files per GPT for the lifetime of that GPT | replace or consolidate GPT knowledge files; a Project plan upgrade does not change this counter |

The units reveal why common fixes fail. Deleting one Project file changes Project capacity but does not age an upload attempt out of a rolling window. Waiting restores time-based allowance but does not shrink a 600 MB PDF. Upgrading can increase Project capacity, yet it does not raise the 512 MB or 2 million token cap on an individual document.
There is also no reliable rolling-quota meter. ChatGPT exposes storage usage in Settings > Storage, but the FAQ says it does not show how much upload quota remains. Failed upload attempts may count, so repeatedly testing the same invalid file can make diagnosis harder.
What to Do When a ChatGPT Project Is Full
Use the smallest action that changes the active counter.
- Count the files in the current Project. If the Project UI shows 5/5, 20/20, 25/25, or 40/40, this is a container-capacity problem. Waiting will not open a slot.
- Remove stale inputs. Delete superseded drafts, duplicate exports, obsolete screenshots, and files whose useful facts already live in a retained source.
- Combine only coherent material. A meeting series can become one dated transcript packet; five related policy notes can become one indexed brief. Do not merge unrelated files merely to reduce the number—the resulting document becomes harder to retrieve from and may cross size or token limits.
- Split by reader or workstream. Create separate Projects for research, drafting, review, or each client/workstream. Unlimited Project creation makes a clean split safer than an overloaded catch-all Project.
- Check storage when failures follow you across Projects. If small valid files fail in several places, inspect Settings > Storage. Project cleanup helps the current container; storage cleanup helps the account-wide byte counter.
- Wait only for a rate-shaped failure. If many recent uploads fail everywhere, allow the rolling or daily window to recover. Deleting files is not a reset button for this counter.
- Upgrade only for a repeated plan-capacity problem. A plan change is justified when 5 or 25 files per Project repeatedly blocks otherwise valid work. It is not the repair for an oversized, overly long, malformed, or unsupported file.

The error text is useful evidence, but behavior matters too. One file failing at the start suggests file validity. Every small file failing after a burst suggests rate or storage. Only additions to one crowded Project failing suggests Project capacity. Match the symptom before changing the plan.
Packaging Examples: Thesis, Codebase, and Team Work
A good Project is a curated evidence pack, not a dumping ground. The count should reflect the reader job.
A 31-file thesis set on Plus
Suppose the set contains 18 papers, 4 methodology notes, 3 data dictionaries, 4 chapter drafts, and 2 old outlines. For a 25-slot Project, keep the 18 core papers, 3 current methodology/data references, and 4 active chapter drafts. Archive the two obsolete outlines and move three secondary references into a separate “Thesis archive” Project.
Combining is useful only where the source remains navigable. The four methodology notes might become one indexed methodology packet. Merging all 18 papers into one enormous PDF saves slots but weakens citation boundaries and can make retrieval less precise.
A 55-file codebase review
Do not upload a repository file by file. Create a compact review packet: architecture overview, dependency manifest, API schema, database schema, selected configuration, test summary, error logs, and the small set of source files relevant to the question. Keep deployment evidence in one Project and product behavior in another if they have different reviewers or decisions.
This approach lowers file count and improves signal. A 40-file Project is a capacity ceiling, not a promise that every attached file will be equally active in every response.
A 40-file workspace handoff
For a Business or Enterprise Project, upload in batches of no more than 10 even though the Project can hold 40. A practical sequence is: 10 source documents, 10 operational records, 10 review artifacts, then 10 current outputs. Check the file list after each batch so a failed item is not mistaken for a stored one.
If different teams own different decisions, separate Projects are usually clearer than one 40-file container. Project boundaries can encode ownership, retention, and review status—not just work around a number.
The 10-Files-at-Once Rule Is Not the Project Cap
The Projects page says only 10 files can be uploaded at the same time. That is a batch boundary. It does not mean every Project holds only 10 files, and it should not be generalized into a universal “10 files per message” rule for every ChatGPT surface.
On Plus, a 25-file Project can be filled with batches of 10, 10, and 5 if the live UI exposes all 25 slots and no other limit intervenes. A 40-file Project can use four batches of 10. If the 11th selected file is rejected before upload begins, reduce the current selection; do not delete stored Project files unless the Project itself is full.
The same number appears elsewhere with another meaning: the File Uploads FAQ lists up to 10 knowledge files per custom GPT over that GPT's lifetime. A 10-file custom-GPT knowledge cap and a 10-file simultaneous Project upload are different rules owned by different surfaces.
How the Rolling Upload Window Differs From Project Capacity
The File Uploads FAQ lists up to 80 files every 3 hours and a separate Free allowance of 3 file uploads per day. OpenAI may lower rate limits during peak hours. This counter follows recent upload activity, not how many files remain inside one Project.

A rolling window moves continuously. If uploads happen at 12:10, 12:40, and 13:20, those attempts do not all reset at a fixed clock time. Each group stops counting as it ages beyond the window. The reliable response is to pause and retry later with a smaller batch.
Removing a stored file does not rewind its earlier upload attempt. Conversely, waiting three hours does not create a Project slot if the Project remains at its capacity. This delete-versus-wait distinction is the fastest test:
- Project is visibly full: remove, combine, or move a file.
- Many recent uploads fail across Projects: wait for the rate window.
- Storage is full: delete old account or workspace files.
- One file always fails: fix that file's size, token count, spreadsheet shape, image size, or format.
File Size, Tokens, Spreadsheets, Images, and Storage
Project slots count objects. They do not guarantee that each object is valid or useful.
| File boundary | Current limit | Better preparation |
|---|---|---|
| General file | 512 MB per file | remove embedded media, compress, or split by topic |
| Text or document | 2 million tokens per file | extract relevant chapters or create an indexed source packet |
| CSV or spreadsheet | approximately 50 MB, depending on row size | remove unused rows/columns, filter the time range, or split into purpose-specific tables |
| Image | 20 MB per image | resize or compress before upload |
| End-user storage | 25 GB | inspect Settings > Storage and remove old uploads |
| Organization storage | 100 GB | coordinate cleanup so one user's workaround does not hide a workspace-wide problem |
A combined PDF still consumes one Project slot, but it also inherits the per-file and token boundaries. A smaller file set is not automatically a better evidence set: preserve titles, dates, authors, page boundaries, and an index so ChatGPT can distinguish sources.
For spreadsheets, the general 512 MB number is not the planning target. The spreadsheet limit is much lower and depends on row size. Filter locally before upload rather than spending repeated attempts on a table that will never fit the spreadsheet path.
When a Plan Change Helps—and When It Does Not
A plan change helps when the unit you repeatedly lack is files per Project.
- Free to Go or Plus can change the Project workflow from 5 files to the current Projects-page value of 25.
- Plus users should verify whether their live Project stops at 20 or 25 while the official pages conflict.
- Edu, Pro, Business, and Enterprise are currently listed at 40 files per Project.
It does not help when the active unit is MB, tokens, spreadsheet size, image size, storage, simultaneous selection, or custom-GPT knowledge files. Those boundaries need their own preparation or cleanup step.
ChatGPT Projects are best for interactive work: comparing documents, preserving project instructions, asking follow-up questions, and keeping a bounded source pack. A repeatable ingestion system with hundreds or thousands of files belongs in an API or data pipeline with explicit storage, indexing, retries, logging, and audit controls. ChatGPT's consumer Project limits and OpenAI API limits are separate contracts.
FAQ
How many files can I put in one ChatGPT Project?
As checked July 16, 2026, the Projects page lists Free at 5 files, Go and Plus at 25, and Edu, Pro, Business, and Enterprise at 40 files per Project. The File Uploads FAQ still lists Plus at 20, so Plus users should verify slots 21–25 in the live UI.
Is the ChatGPT Plus Project file limit 20 or 25?
Both numbers appear on current official OpenAI Help pages. Projects in ChatGPT says 25; File Uploads FAQ says 20. Plan safely around 20 and use up to 25 only when the Plus Project UI allows it.
Can I add more than 25 files to one Project?
Only plans currently listed with a 40-file Project cap can exceed 25 in one Project. Otherwise, remove stale files, create a coherent combined source, or split the work into another Project. OpenAI says the number of Projects you can create is unlimited.
Can I upload more than 10 files to a ChatGPT Project?
Yes, if the plan's per-Project capacity is above 10. The 10-file rule controls how many files can be uploaded at the same time. Fill a 25- or 40-file Project in multiple batches.
Does deleting a file reset the upload limit?
Deleting a Project file opens a Project slot and may reduce storage, but it does not reset a rolling upload-rate window. Wait for time-based allowance to recover when recent upload activity is the blocker.
What is the largest file ChatGPT accepts?
The general cap is 512 MB per file. Text and document files also have a 2 million token limit, spreadsheets are approximately limited to 50 MB depending on row size, and images are limited to 20 MB each.
How many files can a custom GPT use as knowledge?
The File Uploads FAQ lists up to 10 files per GPT for the lifetime of that GPT. That is separate from Project capacity and from the 10 files that can be uploaded to a Project at the same time.
What should I check first when another file is rejected?
Look at the current Project count. If it is full, change the Project contents. If small files fail across Projects after many recent uploads, wait. If only one file fails, inspect its size, token length, spreadsheet shape, image size, or format. Upgrade only when Project capacity is the repeated blocker.
The useful number is the one attached to the counter you actually hit. Count the Project files, identify the unit, and take the smallest action that changes it.



