AI & Agents

ChatGPT Plus File Limit: Upload Caps, Attachment Counts & Storage

The ChatGPT Plus file limit permits users to upload up to `10` files per prompt, with each file capped at `512 MB` and text files capped at `2,000,000` tokens. While individual uploads handle substantial datasets, conversational context saturation and rolling caps create strict operational boundaries for active research. Connecting an external indexed workspace allows teams to query large corpora without hitting attachment or memory ceilings.

Derek Labian 14 min read Updated
ChatGPT Plus file limit architecture comparing file size caps, attachment limits, and external workspace storage

What Are the Documented ChatGPT Plus File Limits?

The ChatGPT Plus file limit permits users to upload up to 10 files per prompt, with each file capped at 512 MB and text/document files capped at 2,000,000 tokens. According to official OpenAI documentation, users can upload up to 80 files every 3 hours, with free accounts limited to 3 file uploads per day, and each end-user account capped at a total of 25 GB of storage. While these headline numbers accommodate standard daily tasks, production research environments encounter distinct technical constraints across file counts, byte thresholds, and token extraction boundaries.

Understanding the chatgpt plus file upload limit requires separating network transport boundaries from model execution limits. For users evaluating the chatgpt plus attachment limit or asking about chatgpt plus how many files can be submitted at once, the conversational composer enforces a strict ceiling of 10 attachments per individual prompt.

Documented Claude mechanics from official Anthropic documentation show a different architectural approach: Claude chat sessions accept up to 20 files at up to 500 MB each, while Claude Projects accept files up to 30 MB each with an unlimited file count bounded by the context window. Claude Projects has no fixed file-count cap, so any fixed project file count is false. The practical ceiling on a project is the context window itself, and reaching that boundary forces teams with large document corpora to look for alternative architectures.

The following reference table outlines the documented file caps, operating conditions, and downstream failure modes across ChatGPT Plus surfaces:

Environment or Asset Type Documented File Cap Primary Operating Constraint Downstream Bottleneck Date Checked
Single Prompt Attachments Up to 10 files per message Web and desktop composer Drag-and-drop blocked on eleventh file October 2026
Document Files (PDF, DOCX, TXT) 512 MB per file 2,000,000 tokens per file Text truncation during extraction October 2026
Tabular Data (CSV, XLSX, TSV) 512 MB transport cap Approximately 50 MB execution limit Python sandbox RAM exhaustion October 2026
Image Inputs (PNG, JPEG, WEBP) 20 MB per image Vision token conversion Maximum 1,445 tokens per image October 2026
Rolling Ingestion Cadence 80 files per 3 hours Shared rolling account window Upload blocking on rate-limit proxy October 2026
Account Library Storage 25 GB end-user cap Cumulative account retention Upload failure until library files purged October 2026
ChatGPT Projects 25 files per project 10 files uploaded at one time Shared project context boundary October 2026
Claude Chat Attachments Up to 20 files per chat 500 MB per file Chat context limit October 2026
Claude Projects Unlimited file count 30 MB per file Bounded only by 200,000-token context October 2026

The core technical boundaries for ChatGPT Plus document ingestion include:

  • Attachment Count: 10 files attached to a single prompt.
  • Individual File Size: 512 MB maximum across supported document formats.
  • Text Extraction Boundary: 2,000,000 tokens per individual file.
  • Rolling Ingestion Rate: 80 files across a 3-hour rolling window.
  • Account Storage Ceiling: 25 GB of cumulative file storage in the user workspace library.

When evaluating these metrics, practitioners must account for how file contents are read. A file under 512 MB transfers successfully to OpenAI storage, but downstream processing determines whether the model can reason across its contents.

Why Multi-Document Ingestion Triggers Context Saturation and Eviction

Competitors frequently summarize headline file sizes without explaining the practical failure mode that occurs during multi-document analysis: context saturation and attachment eviction.

When a user attaches files to a prompt, ChatGPT does not immediately feed hundreds of megabytes of binary data into the neural network. Instead, the backend extracts raw text or parses file contents into structured data chunks. The model running behind the conversational interface, such as GPT-4o, operates with an active context window of 128,000 tokens.

While a user can attach up to 10 documents that consume hundreds of megabytes on disk, the extracted text from those files quickly exceeds the model's active working memory. Consider a practical research scenario where an analyst attaches five legal agreements or technical manuals, each spanning 40 printed pages. A typical printed page of dense text generates roughly 500 tokens. Five 40-page documents represent 100,000 input tokens. When combined with system prompts, analytical instructions, and prior conversational turns, the total token volume saturates the 128,000-token context window in just two or three exchanges.

To prevent prompt overflow, ChatGPT employs dynamic context compaction and internal retrieval mechanisms. In active sessions, this causes attachment eviction:

  1. Working Memory Eviction: Older document passages or earlier attached files are dropped from active attention to make room for new user prompts and generated responses.
  2. Focus Narrowing: The model begins answering exclusively from the most recently referenced document, ignoring relevant sections from earlier attachments.
  3. Hallucinated Cross-References: When asked to compare provisions across five separate agreements, the model frequently generates plausible contractual clauses that do not exist in the source files because the earlier documents were evicted from active memory.
  4. Tail Truncation: In large single documents exceeding 2,000,000 tokens or several hundred pages, content located toward the end of the file is omitted during text extraction.

Context saturation means that successful file upload does not guarantee comprehensive document comprehension. In multi-turn analytical sessions, prompt attachments act as temporary conversational references rather than a durable knowledge base.

How Spreadsheet Memory Ceilings Restrict Advanced Data Analysis

A common operational trap occurs when working with structured tabular data. While the file uploader accepts spreadsheets and CSV exports up to 512 MB, running Advanced Data Analysis on large datasets regularly fails.

Advanced Data Analysis executes code within an ephemeral, sandboxed Linux microVM equipped with Python data science libraries like pandas, numpy, and openpyxl. When a user requests data analysis, the Python environment reads the uploaded tabular file into memory as a DataFrame.

The bottleneck is memory expansion. On disk, a CSV file stores comma-delimited text characters. When pandas parses that text into numeric arrays, datetime indexes, and object-typed string columns, the in-memory footprint expands substantially. A 40 MB raw CSV containing numeric telemetry or customer transaction logs routinely expands to 600 MB or 1 GB of RAM inside the Python process.

OpenAI enforces strict container resource limits to maintain multi-tenant cluster stability. Ephemeral execution environments are allocated bounded RAM, typically between 1 GB and 2 GB, alongside a strict per-command execution timeout of roughly 60 seconds. When a script exceeds memory thresholds, the Linux kernel terminates the Python process with an out-of-memory error. In the ChatGPT interface, this surfaces as an unhelpful failure message such as 'Error analyzing file' or 'Script execution timed out.'

For tabular datasets, 50 MB represents the practical ceiling for stable, iterative analysis in ChatGPT Plus. Files larger than 50 MB should be filtered or aggregated locally before upload.

Data teams can evaluate file metrics and estimate in-memory footprint locally using standard Python libraries:

import os
import pandas as pd

def inspect_tabular_file(file_path: str):
    file_size_mb = os.path.getsize(file_path) / (1024 * 1024)
    print(f"File Size on Disk: {file_size_mb:.2f} MB")
    
    if file_size_mb > 50:
        print("Warning: File exceeds the recommended 50 MB threshold for ChatGPT Advanced Data Analysis.")
    
    sample_df = pd.read_csv(file_path, nrows=1000)
    sample_mem = sample_df.memory_usage(deep=True).sum()
    estimated_total_mem_mb = (sample_mem / 1000) * (os.path.getsize(file_path) / (1024 * 1024))
    
    print(f"Sample Memory Usage: {sample_mem / 1024:.2f} KB")
    print(f"Estimated Full DataFrame RAM Footprint: {estimated_total_mem_mb:.2f} MB")

if __name__ == '__main__':
    inspect_tabular_file('quarterly_transactions.csv')

Pre-checking file dimensions avoids consuming rolling upload slots on datasets destined to fail during execution.

Fastio features

Query Unlimited Document Archives from ChatGPT

Connect your team's document libraries to an intelligent workspace, index files automatically for semantic retrieval, and let ChatGPT search your full corpus over MCP. Start with a 14-day free trial.

What Are the File Limits in ChatGPT Projects and Custom GPTs?

Beyond one-off chat attachments, ChatGPT Plus provides two mechanisms for maintaining reference files across multiple conversations: ChatGPT Projects and Custom GPTs. Both mechanisms introduce distinct storage boundaries that teams must manage.

ChatGPT Projects Boundaries

ChatGPT Projects allow Plus and Team subscribers to organize conversations, custom system instructions, and reference documents into dedicated working spaces. In ChatGPT Projects, file handling is governed by three specific rules:

  • Project File Capacity: Each project accepts up to 25 files in its reference library.
  • Batch Ingestion Cap: Users can upload up to 10 files in a single batch operation.
  • Shared Working Context: Files uploaded to a project are referenced across all chats opened within that project, drawing from the shared 25-file pool.

Once a project reaches 25 files, new attachments are blocked until existing documents are removed. While this setup helps maintain consistent context across related chats, it does not expand the underlying model's 128,000-token context window. Queries within a project still rely on internal semantic chunking, and multiple dense documents remain vulnerable to context saturation.

Custom GPT Knowledge Base Limits

When building Custom GPTs, creators can attach documentation to the builder's Knowledge section:

  • File Count Limit: Custom GPTs permit up to 20 files in the knowledge configuration.
  • File Size Cap: Each individual file can reach up to 512 MB.
  • Retrieval Method: Files are automatically converted into vector embeddings for similarity search when users interact with the GPT.

The 25 GB Account Library Ceiling

All files uploaded to conversational prompts, ChatGPT Projects, and Custom GPTs count against a cumulative account storage ceiling. OpenAI documentation specifies that each end-user account is capped at 25 GB of total storage.

OpenAI does not automatically prune older files. When an account reaches 25 GB of cumulative storage, upload attempts fail across all chats and projects. Restoring upload capability requires users to manually open the ChatGPT Library settings, locate obsolete files, and delete them individually.

Team Collaboration Drawbacks

Relying on ChatGPT's built-in file storage creates operational silos. Documents uploaded directly to ChatGPT are locked inside an individual user's account or closed Project environment. Team members cannot verify when a colleague updates a reference file, cannot inspect version histories, and cannot coordinate updates across departments. When a corporate policy or codebase changes, every team member must manually re-upload the revised document to their own chats or Projects.

How to Architect Large-Corpus Analysis with External Workspaces and MCP

When analytical work involves hundreds of contracts, multi-gigabyte engineering archives, or active departmental folders, prompt-based file attachments hit a structural barrier. Forcing large document collections through individual chat attachments creates context saturation, attachment eviction, and storage silos.

Engineering teams address this challenge through several architectural patterns:

  1. Local Retrieval Scripts and Vector Databases: Setting up local scripts connected to vector databases like Qdrant or Chroma allows granular retrieval. However, this approach requires building and maintaining ingestion pipelines, chunking logic, and embedding models, while isolating non-technical colleagues from the underlying documents.
  2. Standard Cloud Storage Buckets: Storing files in Google Drive, Dropbox, Box, or OneDrive preserves central file access, but standard cloud folders lack automated semantic indexing and cannot communicate directly with conversational AI models without custom middleware.
  3. Intelligent Workspaces Connected via Model Context Protocol (MCP): Storing the corpus in an intelligent workspace that indexes documents automatically and connects directly to AI assistants.

Fast.io provides shared, org-owned workspaces that serve as a persistent coordination layer for teams and AI agents. Instead of uploading large files directly to a chat prompt, teams keep their document collections in Fast.io workspaces:

  • Storage Capacity: Workspaces accommodate substantial archives without hitting chat quotas. Starter plans include 250 GB of storage across 5 workspaces, Business plans provide 5 TB across 50 workspaces, and Enterprise plans offer 25 TB across 200 workspaces. Maximum single-file upload limits are 25 GB on Starter, 50 GB on Business, and 100 GB on Enterprise.
  • Automated Cloud Sync: Cloud Sync connects Google Drive, Dropbox, Box, and OneDrive folders to a workspace, one-way or two-way, on a schedule or on demand. Files stay synchronized with existing enterprise storage without manual re-uploading.
  • Intelligence Mode: Enabling Intelligence Mode on a workspace automatically indexes every uploaded document for hybrid search, combining full-text search, semantic search, and metadata filtering. Documents are queryable immediately through Fast.io AI capabilities without configuring external vector databases.

Connecting ChatGPT to Fast.io Workspaces

Assistants connect to Fast.io over Streamable HTTP via the Model Context Protocol. Rather than attaching a 500 MB document to a prompt, ChatGPT queries the Fast.io MCP server to retrieve only the specific sentences or data points relevant to the user's prompt.

Teams can configure the connection through two straightforward methods:

  1. ChatGPT Plugin Directory (Preferred): Open the ChatGPT plugin directory at chatgpt.com/plugins, locate Fastio, select Install plugin, and sign in to Fastio when prompted. Users can then query indexed workspaces directly by mentioning @Fastio in any chat session.
  2. Custom MCP Server (Alternative): In ChatGPT Settings, open Security and login and turn on Developer mode. Navigate to chatgpt.com/plugins, select the plus button, name the server Fastio, enter https://mcp.fast.io/mcp/operations as the server URL, create the connection, and sign in when prompted.

When ChatGPT queries Fast.io, the assistant receives targeted excerpts of roughly 300 to 500 tokens rather than entire multi-megabyte files. This pattern keeps the 128,000-token context window clean, prevents attachment eviction, and allows users to search across tens of thousands of documents without hitting ChatGPT Plus upload caps. See storage for agents for additional deployment patterns.

Every document keeps per-file version history, while a detailed activity log of changes records uploads, modifications, and permission updates across the organization.

Monthly plans start with a 14-day free trial, which requires a credit card. Plans are Starter at $9.99/mo (3 seats, 250 GB storage, 100,000 credits a month), Business at $49.99/mo (10 seats, 5 TB storage, 600,000 credits a month), and Enterprise at $199.99/mo (30 seats included, 25 TB storage, 3,000,000 credits a month). AI operations are metered by credits, with overage billed at $10 per 100,000 credits. Setup documentation is available at Fast.io MCP docs, and tool reference is documented at https://mcp.fast.io/skill.md. Review Fast.io pricing for full plan specifications.

Sources

References used to verify factual claims in this guide.

  1. OpenAI documentation specifies that users can upload up to 80 files every 3 hours, with free accounts limited to 3 file uploads per day, and each end-user account capped at a total of 25 GB of storage.

  2. Anthropic Claude chat sessions accept up to 20 files at up to 500MB each, while Claude Projects accept files up to 30MB each with an unlimited file count bounded by the context window.

Frequently Asked Questions

How many files can I upload to ChatGPT Plus at once?

You can attach up to `10` files to a single prompt in the ChatGPT composer. In addition, ChatGPT Plus enforces a rolling rate limit of up to `80` file uploads every `3` hours.

What is the individual file size limit for ChatGPT Plus?

The individual file size limit is `512 MB` per file across supported document formats, including PDFs, Word documents, text files, and spreadsheets. For text files, OpenAI also enforces an extraction ceiling of `2,000,000` tokens per file.

How do I analyze more than `10` files in ChatGPT Plus?

To analyze more than `10` files, you can upload them across consecutive prompts, compress them into a zip archive (which counts as a single file up to `512 MB`), or connect an external indexed repository through the Fastio MCP server so ChatGPT searches files by semantic relevance rather than prompt attachment.

What happens when uploaded files exceed the ChatGPT context window?

When uploaded documents exceed the model's `128,000`-token context window, ChatGPT experiences context saturation. The platform uses internal chunking to retrieve relevant excerpts, but in active, multi-turn sessions, older attachments or earlier sections are evicted from working memory, leading to incomplete answers or hallucinations.

Does ChatGPT Plus have an overall account storage limit?

OpenAI documentation specifies that each end-user account is capped at `25 GB` of total storage across saved conversation files, project documents, and ChatGPT Library assets. When your account reaches `25 GB`, new file uploads are blocked until older files are deleted.

Why does Advanced Data Analysis fail on spreadsheets under `512 MB`?

While the transport limit is `512 MB`, Advanced Data Analysis processes spreadsheets in an ephemeral Python container with strict memory limits. Converting a raw CSV into pandas DataFrames expands the data in memory. Tabular files exceeding roughly `50 MB` frequently exhaust container RAM, resulting in script timeouts or failed executions.

Related Resources

Fastio features

Query Unlimited Document Archives from ChatGPT

Connect your team's document libraries to an intelligent workspace, index files automatically for semantic retrieval, and let ChatGPT search your full corpus over MCP. Start with a 14-day free trial.