As of 12 September 2026, the hard ceiling is 512 MB per file, with lower or separate limits for documents, spreadsheets, images, Projects and custom-GPT knowledge. Common supported formats include PDF, DOCX, PPTX, TXT, XLS, XLSX, CSV and TSV; native .gdoc files must be exported first. The table below brings the current limits together from OpenAI's File Uploads FAQ and supported file types guidance.

ChatGPT file-upload limits.

ConstraintCurrent value (12 September 2026)Notes
Hard maximum per file512 MBApplies to all file types
Text and document token ceiling2 million tokens per fileNot applicable to spreadsheets
CSV and spreadsheet sizeApproximately 50 MBDepends on row size
Image size20 MB per imageSeparate from document limits
Rolling upload rateUp to 80 files per three hoursFree users: three file uploads per day; OpenAI may reduce limits during peak hours
Shared storage25 GB per user; 100 GB per organisationShared across conversations, Projects and custom-GPT knowledge
Project file countsFree: 5; Go and Plus: 25; Edu, Pro, Business, Enterprise: 40Per Project, not per chat
Custom GPT knowledgeGPT editor documentation lists 20 files; the general FAQ still lists 10Confirm the limit in your GPT editor; this is separate from chat and rolling allowances

To see why these attachment limits differ from coding-agent file access, compare chat uploads with coding-agent workspace access.

Failed retries can sometimes count towards the upload-rate cap. Limits can also change with plan updates, peak-demand adjustments or product revisions, so recheck the linked OpenAI guidance before relying on a specific number.

Which document and spreadsheet formats ChatGPT supports

The common extensions above cover documents, presentations, spreadsheets and plain text. Native .gdoc files are not supported. If you have a Google Doc, export it to a supported format such as PDF or DOCX before uploading. A recognised extension does not guarantee that every embedded object, image, macro or formatting feature within the file will be processed. The examples in OpenAI's guidance are not an exhaustive or permanent allow-list.

If ChatGPT is rejecting a supported file, work through the file-upload troubleshooting guide before repeatedly retrying it.

Why a file under 512 MB can still fail

The 512 MB figure is only the outer boundary. The applicable constraint depends on the file type and where you add it.

  • Token limit. Text and document files must meet both the 512 MB hard cap and the separate 2-million-token ceiling; spreadsheets are exempt from the token ceiling.
  • Spreadsheet cap. CSV and spreadsheet files have an approximately 50 MB cap that varies with row size, even though the general hard cap is higher.
  • Image cap. Images have a 20 MB per-image limit.
  • Rolling rate. Once the current rolling allowance is reached, further uploads can fail even when each file meets its size limit.
  • Storage. New uploads can fail once shared storage reaches its current cap, regardless of individual file size.
  • Project count. Projects have a separate plan-specific file-count limit.

Check each applicable constraint rather than assuming file size is the only one. If the upload still fails, continue with the troubleshooting guide linked above.

A quick way to identify the limit that applies

Use the limits in a fixed order before resizing, converting or splitting a file:

  1. Choose the destination. Note whether you are adding the file to an ordinary chat, a Project or custom-GPT knowledge. This tells you which rolling allowance or file-count rule is relevant.
  2. Check the actual file type. Confirm the extension rather than relying on the document's name or application icon. Export a native .gdoc file first. Apply the spreadsheet or image cap to those file types, and check both byte size and tokens for text and document files.
  3. Check cumulative constraints. If the individual file qualifies, check the rolling allowance, shared storage and any Project or custom-GPT count that applies. Another retry does not identify which constraint caused the failure, and a failed attempt may itself count towards the rolling cap.
  4. Check what the task depends on. Decide whether you need prose, tables, embedded images or scanned pages. Technical acceptance is not enough when the attachment route does not make the material needed for the task available.
  5. Keep the version stable. Exporting, compressing, redacting or splitting changes the file you intend to use. Treat the result as a new exact version and check it again before upload.

Splitting a large document can also turn one upload into several, consuming more of the relevant allowance and separating context that belonged together. Use it only when the resulting parts still support the task and your document-handling rules.

How many files can you upload to a chat, Project or GPT?

The answer depends on which surface you are using:

  • Ordinary chat: Use the rolling upload allowance in the matrix. It is separate from Project and custom-GPT file-count limits.
  • Project: Use the plan-specific Project count in the matrix. Project count, rolling uploads and shared storage are separate constraints.
  • Custom GPT knowledge: OpenAI's GPT editor documentation lists up to 20 knowledge files, while the general file-upload FAQ still lists ten. Confirm the allowance shown in your current editor; it is separate from ordinary-chat rolling limits.

These counters are separate, while shared storage applies across conversations, Projects and custom-GPT knowledge. Check every limit that applies to the surface you are using.

What an accepted upload does and does not prove

A successful upload shows only that ChatGPT accepted the file at that point. It does not confirm:

  • Every page, paragraph, table or visual in the file was read.
  • The file's content is appropriate, safe or suitable for the intended task.
  • Embedded images, charts or scanned pages were interpreted.

After upload, verify the specific material your task depends on. For example, ask ChatGPT to locate a named section, table or page, then compare its response with the source document. If critical content is missing, do not assume a differently worded prompt will make that content available. Reconsider the attachment route or prepare a suitable supported version. This is a check of the current interaction, not proof that the whole file was parsed or that later responses will remain accurate.

For PDFs, plan and attachment path affect whether ChatGPT uses text-only or visual retrieval, according to OpenAI's Visual Retrieval with PDFs FAQ. The dedicated guide explains what ChatGPT can read in a PDF.

Check the exact document version before upload

Exporting, compressing or splitting a document to meet ChatGPT's limits creates a new version to check. Confirm that you can use it with your chosen AI service, then check for prompt-injection signals before adding it to your project.

.mdSiren checks document versions for supported prompt-injection and document-borne risks, returns Approved, Needs review or Quarantine, and keeps the current eligible Approved copy ready for retrieval. You attach that checked copy to your AI workflow yourself; revisions need their own checks.

See the document checkpoint, or Coming soon. The decision covers the reported checks, not ChatGPT's ability to accept or fully process the file.

Frequently asked questions

What is the maximum file size for ChatGPT?

The hard ceiling is 512 MB per file as of 12 September 2026. However, lower type-specific limits apply: approximately 50 MB for spreadsheets, 20 MB for images, and a 2-million-token ceiling for text and document files. The effective limit for your file is the lowest applicable cap.

How many files can I upload per day?

Free users can upload three files per day. Other plans are governed by a rolling rate of up to 80 files per three hours. OpenAI may reduce these limits during peak hours. Failed attempts can count towards the cap.

What is the ChatGPT Plus file-upload limit?

The current 512 MB per-file ceiling and 2-million-token document ceiling are not presented as Plus-only limits. For Plus, OpenAI currently lists 25 files per Project and the rolling allowance shown above. Shared storage remains a separate 25 GB-per-user and 100 GB-per-organisation constraint.

Can I upload a native .gdoc file?

Native .gdoc files are not supported as local attachments. Export the document to a supported format such as PDF or DOCX. Connected-app access is a separate route from uploading a local file.

Does a failed upload count towards my limit?

It can. OpenAI's documentation states that failed attempts can count towards the upload-rate cap. If you are close to the rolling limit, repeated retries may exhaust your remaining allowance.

Does ChatGPT read images inside a PDF?

It depends on plan and attachment path. OpenAI documents visual retrieval for particular Enterprise conversation routes and text-only retrieval for other routes; use the PDF guide linked above for the current breakdown.