Skip to content

How many files can you upload to ChatGPT? All 6 caps in one place

Limits by planLast checked

Short answer

Six different caps exist and people mix them up constantly. Per message: 20 files per message on web. Per day: 3 file uploads per day on Free. Overall: 80 files every 3 hours. Per Project: 5 files per project on Free, 25 files per project on Go and Plus, 40 files per project on Pro and Business. Per custom GPT: 10 files per GPT, for its whole lifetime. Then storage, 25 GB, which counts everything at once.

All of them, in one table

CapValueScope
Per message20 files per message on webOne message. Mobile parity not stated
Per day, Free plan3 file uploads per dayFree accounts
Rolling rate80 files every 3 hoursRolls over 3 hours
Per Project5 files per project Free, 25 files per project Go and Plus, 40 files per project Pro and BusinessEach project separately
Per custom GPT10 files per GPTLifetime of the GPT
Storage25 GBAll chats, Projects and GPTs together

They stack. Being inside the per-message limit does not exempt you from the daily one, and having daily allowance left does not help if you are out of storage.

The one that surprises people: custom GPTs

10 files per GPT, for the lifetime of that GPT.

Not per conversation, not per month. Ten files total, ever, for that GPT's knowledge. After that you are swapping files out rather than adding more.

Worth planning around before you build one. If your GPT needs to know about twenty documents, combine them into fewer, larger files before uploading rather than discovering the ceiling at document eleven.

The one that never resets: storage

25 GB per user, 100 GB per organisation.

Shared across chats, Projects and custom GPT knowledge, and cumulative. A file uploaded months ago still occupies it, and deleting the chat it arrived in no longer removes it: files saved to your Library outlive the conversation. Delete the file itself, from Settings then Storage or from the Library.

This is the cap behind most "upload limit reached" messages that appear when someone has barely uploaded anything. Check Settings, then Storage.

Failed attempts still count

OpenAI's documentation says failed uploads can count toward the rate cap. On Free, with only 3 file uploads per day, one stubborn file retried three times can spend your entire day and upload nothing at all.

Making your files go further

Bundle before uploading. The caps count files, not bytes. Six documents concatenated into one text file is one upload rather than six, and for code it also preserves the structure ChatGPT needs.

Paste instead of uploading. A paste under 10,000 characters is a message, not an upload, so it does not touch any of these caps. When you are out of uploads, this still works immediately. Go over that in a single paste and ChatGPT converts it into an attachment, which spends an upload after all, so send long text in parts.

Send only the relevant part. One chapter is one file and usually gets a better answer than the whole book.

Which one you are hitting

The message usually tells you, if you read it carefully.

  • Mentions how many at a time → the per-message cap of 20 files per message on web. Send the rest in another message.
  • Mentions a limit reached → daily or rolling cap. Check Settings then Storage to rule out storage, then wait about an hour.
  • Happens inside a Project → the Project file cap, which is separate from everything else.
  • Happens while editing a GPT → the ten-file lifetime cap for that GPT.

Common questions

How many files per message?

20 on the web version, doubled from 10 in February 2026. OpenAI has not said whether the mobile apps match. Exceed it and you are told you may only upload a certain number at a time, so send the rest in a second message. This cap is separate from every other one on this page.

How many per day?

Free accounts get 3 per day. Paid accounts fall under the general cap of 80 files every 3 hours, which rolls rather than resetting daily. OpenAI has never published when the Free daily allowance resets, so treat any specific reset time you read elsewhere as a guess.

How many files can a custom GPT hold?

10, and that is for the lifetime of the GPT rather than per conversation. Once you have used them you are replacing files, not adding more.

Why does the count seem lower than it should be?

Failed upload attempts count. OpenAI states this explicitly. A file you retried five times spent five slots regardless of whether any of them worked.

Keep reading