Verified limit lookup

ChatGPT File Upload Limits: Size, Tokens & Storage

Current ChatGPT file upload constraints by file type, token count, rolling allowance, and storage scope from OpenAI's help center.

Verified Aug 22, 20261 official source
Quick answer

ChatGPT's general per-file ceiling is 512 MB, but documents, spreadsheets, and images can hit stricter constraints first. Text and document files are also capped at 2,000,000 tokens per file.

Verified Aug 22, 2026Official source

Current limits

ConstraintCurrent valueScopeVerified source
General per-file hard limitApplies to files uploaded to a GPT or ChatGPT conversation; more restrictive type-specific limits can apply first.512 MBPlatform documentedOpenAIAug 22, 2026
Text and document token capDoes not apply to spreadsheets; the byte-size limit still applies.2,000,000 tokens per filePlatform documentedOpenAIAug 22, 2026
CSV or spreadsheet practical capApproximate because the supported size depends on row size.Approximately 50 MBPlatform documentedOpenAIAug 22, 2026
Image limitType-specific image limit.20 MB per imagePlatform documentedOpenAIAug 22, 2026
Rolling upload allowanceOpenAI says it may lower this limit during peak hours; Free users have a separate daily cap.Up to 80 files every 3 hoursPlatform documentedOpenAIAug 22, 2026
Free plan upload allowanceA plan-specific allowance, separate from storage and per-file constraints.3 file uploads per dayFreeOpenAIAug 22, 2026

Why does this limit matter?

A file can be below the byte ceiling and still fail because it exceeds the document token cap.

Rolling upload counts and shared storage caps are separate from per-file validation.

What should you check?

  1. Identify the file type before comparing its size.
  2. For text-heavy documents, estimate tokens as well as bytes.
  3. Check ChatGPT Settings → Storage for Library storage usage; ChatGPT does not expose remaining rolling upload quota.

Important caveats

  • Spreadsheet sizing is approximate and depends on row size.
  • OpenAI says rolling upload limits may be reduced during peak hours, and failed attempts can sometimes count.
HyperObserve reports the documented platform constraint. Your application, SDK, gateway, provider, region, or account can impose a lower effective limit.
Related

Related references and tools

Found an outdated limit? Report it.