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
| Constraint | Current value | Scope | Verified source |
|---|---|---|---|
| General per-file hard limitApplies to files uploaded to a GPT or ChatGPT conversation; more restrictive type-specific limits can apply first. | 512 MB | Platform documented | OpenAIAug 22, 2026 |
| Text and document token capDoes not apply to spreadsheets; the byte-size limit still applies. | 2,000,000 tokens per file | Platform documented | OpenAIAug 22, 2026 |
| CSV or spreadsheet practical capApproximate because the supported size depends on row size. | Approximately 50 MB | Platform documented | OpenAIAug 22, 2026 |
| Image limitType-specific image limit. | 20 MB per image | Platform documented | OpenAIAug 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 hours | Platform documented | OpenAIAug 22, 2026 |
| Free plan upload allowanceA plan-specific allowance, separate from storage and per-file constraints. | 3 file uploads per day | Free | OpenAIAug 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?
- Identify the file type before comparing its size.
- For text-heavy documents, estimate tokens as well as bytes.
- 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