There is no documented universal ChatGPT Plus image-upload limit per day. As of July 19, 2026, OpenAI instead publishes a 20 MB maximum per image and an all-file rolling ceiling of up to 80 uploads every three hours. OpenAI may lower that rolling ceiling during peak hours, and it does not promise that 80 images will be available.
If an image is blocked, do not begin by counting only today's photos. Identify the counter named by the message and the surface where it appeared: a normal chat, a Project, Library, or a custom GPT. Those surfaces have different limits.
| Signal | What the official documentation says | What it does not prove |
|---|---|---|
| One image is too large | 20 MB maximum per image | That your rolling allowance is empty |
| Several images fail in one message | Image quantity depends on image size and accompanying text | A universal images-per-message number |
| “Upload limit reached” after recent activity | Up to 80 file uploads per 3 hours; peak-time reductions are possible | An image-only quota or midnight reset |
| A Plus Project is full | OpenAI pages currently conflict: 20 vs 25 files per Project | That either number applies everywhere without checking the interface |
| Storage is full | Plus Library is labeled 20 GB; a separate FAQ labels an end-user cap as 25 GB | 45 GB of additive storage |
This article cannot see your signed-in account. Your remaining rolling allowance, any temporary reduction, the exact reset cue, active Project count, Library meter, and GPT builder capacity are therefore unknown until you inspect the current interface.
Start With the Counter, Not a Daily Number
“Image upload limit” is common search language, but the ChatGPT interface and OpenAI documentation divide the problem into several counters. The fastest diagnosis comes from matching the unit and location of the warning.
- File validity: Is the image a supported static format and no larger than 20 MB?
- Message composition: Does one smaller image with shorter text work when a larger batch does not?
- Rolling activity: Have you uploaded images, PDFs, spreadsheets, or other files during the last three hours?
- Container capacity: Does the failure occur only inside one Project or while editing one custom GPT?
- Storage: Does the message name Library or account storage?
- Service or account state: Does a known-good file fail broadly after one controlled retry?
The File Uploads FAQ is the main source for upload rate, file size, shared storage, and troubleshooting. The Image Inputs FAQ owns the static-image formats, per-image size, and message-composition guidance. Keep each source attached to its own counter.
The Published Image Rules for ChatGPT
For image inputs, OpenAI lists PNG, JPEG/JPG, and non-animated GIF. It describes image inputs as static images, not video. The published size ceiling is 20 MB per image.
OpenAI does not give one fixed number of images that every message can accept. Its guidance says the number depends on factors including image size and the amount of accompanying text. A large batch with a long prompt may fail even when a single smaller image succeeds.
That gives you a safe controlled check, not a way to measure hidden quota:
- Confirm that you are in the intended account and plan.
- Use one static PNG or JPEG that is clearly below 20 MB.
- Keep the same chat, account, and platform.
- Shorten the accompanying text or remove the other images—change only one variable.
- Retry once. If the same warning remains, stop and follow the rate, Project, storage, or service branch.
This is a recommended diagnostic sequence, not a test performed on your account. Repeated retries are especially unhelpful because OpenAI says failed upload attempts can sometimes count toward the upload-rate cap.
Other file types keep their own shape limits
The 20 MB rule is specific to images. OpenAI separately publishes a 512 MB hard limit per file, a 2-million-token cap per text or document file, and an approximately 50 MB spreadsheet limit that depends on row size.
Those are file-shape rules, not allowances. Waiting for a rolling window does not make an oversized image valid, and compressing one image does not restore a Project slot or Library capacity.
How the Three-Hour Upload Window Works
The File Uploads FAQ says users can upload up to 80 files every three hours and that Free users are limited to three file uploads per day. For a Plus user, the important wording is up to, files, and every three hours:
- Up to means the documented ceiling can be lowered during peak hours.
- Files means images do not receive a guaranteed separate bucket; recent PDFs, spreadsheets, and documents can matter too.
- Every three hours describes a rolling rate window, not a universal midnight reset.
ChatGPT currently does not display used or remaining rolling upload-rate quota. You can record timestamps to estimate when earlier activity may age out, but that estimate is not an official countdown. A signed-in timer or warning, if ChatGPT shows one, is evidence for that account at that moment—not a plan-wide entitlement.
Suppose you attached images in the morning, uploaded a PDF in a Project, and then made several failed attempts. A later image block cannot be explained from the visible image count alone. The PDF may share the all-file window, failed attempts may have counted, or temporary capacity may be lower. The honest next step is to stop retrying and let recent activity leave the rolling window.
Project, Library, and Custom GPT Limits Do Not Agree Cleanly
OpenAI's current Help Center pages contain two unresolved numerical conflicts. They should remain visible until the pages and the signed-in owner interface agree.
Plus Projects: 20 files versus 25
The File Uploads FAQ lists up to 20 files per Project for Plus. The separate Projects in ChatGPT page lists 25 files per Project for Go and Plus and says only 10 files can be uploaded at the same time.
These numbers answer different-looking questions only in part: 10 clearly describes one upload action, but 20 and 25 both claim to describe Plus Project capacity. Do not silently choose one. For an immediate action, follow the capacity shown by the current signed-in Project interface. If the interface conflicts with either Help page, save the exact wording and timestamp for support.
Plus Library: 20 GB versus a 25 GB end-user cap
The Library documentation lists 20 GB of Library storage for Plus. The File Uploads FAQ separately lists a 25 GB end-user cap shared across chats, Projects, and custom GPT knowledge, plus a 100 GB organization cap.
Those labels do not justify adding the figures or substituting one for the other. Diagnose the named surface. The current Library page says its Storage control shows total usage and remaining storage. It also says deleting a chat does not delete files saved in Library; remove a saved file from Library when Library is the full surface.
Custom GPT knowledge: 10 files versus 20
The File Uploads FAQ says “up to 10 files per GPT for the lifetime of that GPT” under a heading that asks how many can be uploaded at once. The Creating and editing GPTs page says up to 20 knowledge files may be attached to a GPT.
That is both a 10-versus-20 conflict and a wording ambiguity inside the FAQ. If the problem happens in the GPT builder, the builder's current capacity message owns the immediate action. Do not apply either custom-GPT number to a normal conversation or Project.
A Recovery Path That Preserves Evidence
Use the error wording to choose one next move:
| What you observe | Likely branch | Next action |
|---|---|---|
| Unsupported type, animation, or image above 20 MB | File validity | Create one supported static image below 20 MB; retry once |
| One small image works but a batch with long text fails | Message composition | Reduce image count, size, or text one variable at a time |
| Many files were uploaded recently | Rolling all-file rate | Stop attempts and wait for recent activity to age out |
| Only one Project is blocked | Project capacity or state | Inspect that Project's current count and capacity message |
| Only the GPT builder is blocked | Custom GPT knowledge | Follow the builder's message; retain the 10-vs-20 documentation conflict |
| Warning names Library or storage | Saved or shared storage | Open the named storage surface; do not delete unrelated chats at random |
| Uploads fail across chats and file types | Service, workspace, or account state | Check OpenAI Status and preserve evidence |
If a normal attachment button is missing, the file stalls without a quota warning, or a valid image uploads but cannot be interpreted, this may be a product or file-processing problem instead. Use the separate ChatGPT image upload troubleshooting guide. If the message names conversation or model usage rather than files, use the ChatGPT message-limit guide.
Upload, Image Generation, and the API Are Three Different Workflows
Attaching an existing image asks ChatGPT to use an image input. Asking ChatGPT to create a new picture invokes image generation. Sending an image through the OpenAI API is a developer request with API authentication, project billing, request formats, model support, and limits.
An image-generation warning does not prove your file-upload allowance is empty. Likewise, a successful attachment says nothing about how many images ChatGPT can generate. OpenAI's current API image and vision guide documents separate endpoints for analyzing, generating, and editing images.
ChatGPT Plus does not include API credits, and API capacity does not refill a Plus attachment counter. The direct route for a consumer upload incident is ChatGPT's current interface, OpenAI Help, OpenAI Status, and OpenAI Support. The API is appropriate only when the actual job is to build software—not as a quota workaround.
What to Send OpenAI Support
After one controlled change and one retry, collect a compact incident record instead of creating more failed attempts:
- timestamp and timezone;
- the exact error text and a screenshot;
- account plan and workspace, without sharing credentials;
- surface: regular chat, Project, Library, or custom GPT builder;
- platform and app or browser version;
- image type, exact file size, image count, and approximate prompt length;
- recent successful uploads and failed attempts, including other file types;
- Project count, Library meter, or builder message when relevant;
- OpenAI Status state at that time; and
- request ID or diagnostic identifier, if shown.
Do not send the private contents of the file unless support specifically needs and you are permitted to share them. The useful evidence is the counter, surface, timing, and exact failure—not unrelated account data.
FAQ
What is the ChatGPT Plus image upload limit per day?
OpenAI does not currently publish one universal daily image count for Plus. The documented rules checked on July 19, 2026 include 20 MB per image and up to 80 file uploads every three hours, with possible peak-time reductions. The 80-file figure is an all-file ceiling, not a guaranteed image allowance.
Is the Plus limit 50 images per day?
Not as an official universal entitlement. Current OpenAI Help pages do not establish 50 images per day or a fixed midnight reset for Plus image uploads. Treat that number as an unsupported third-party estimate unless the relevant official documentation or your signed-in account explicitly provides it.
When does the ChatGPT upload limit reset?
The published paid upload rate uses a rolling three-hour window. OpenAI does not publish a universal midnight reset, and ChatGPT does not currently show the used or remaining rolling quota. An account-specific timer should be followed for that account without generalizing it to all Plus users.
How many images can I attach in one message?
There is no documented fixed number for every message. OpenAI says the quantity depends on image size and the amount of accompanying text. If a batch fails, reduce one variable and retry once.
Does a failed upload count?
It can. OpenAI says failed upload attempts may sometimes count toward the upload-rate cap. Stop repeated attempts after one controlled retry.
How many files can Plus users keep in a Project?
OpenAI's official pages conflict: the File Uploads FAQ says up to 20 files per Plus Project, while Projects in ChatGPT says 25 and separately limits one upload action to 10 files. Use the current Project interface for the immediate action and retain the conflict when reporting a problem.
Can a custom GPT have 10 or 20 knowledge files?
Both figures appear in current official documentation. File Uploads FAQ says 10 files per GPT for its lifetime, while Creating and editing GPTs says 20 knowledge files. Check the current GPT builder rather than converting either number into a universal rule.
Does deleting a chat free Library storage?
Not necessarily. OpenAI's Library page says deleting a chat does not delete files saved to Library. Manage the saved file from Library when that is the surface named by the warning.
Can the OpenAI API bypass a ChatGPT Plus upload limit?
No. ChatGPT subscriptions and API use have separate billing and limits. Use the API for a developer workflow, not to repair or refill a consumer ChatGPT counter.



