ChatGPT's Data Analysis tool caps spreadsheet uploads at approximately 50MB; Claude's general chat file limit is 500MB, though Project files drop to 30MB. Gemini's upload limits vary by plan and are not consistently documented in a single public source. All three platforms train on consumer conversations by default — each with a different opt-out path and different human-review posture. Pick based on your file size, your data's sensitivity, and what you're willing to expose.
TL;DR: ChatGPT has the tightest effective cap for spreadsheet analysis (~50MB) but the cleanest pathway for tabular data via the Data Analysis tool. Claude accepts larger files per upload but reads CSV as text rather than loading it as a dataframe. All three platforms train on consumer data by default — the differences in how they retain and review your data matter as much as the raw size limits. Data Masking lets you strip sensitive columns before any file leaves your device.
You opened a CSV of customer accounts, picked whichever AI was already in a tab, and uploaded it. Each platform received the file — but what each does with that data after the upload differs in ways most comparison guides never mention.
Table of Contents
- File Upload Limits Comparison Matrix
- Why File Limits Aren't Just About Size
- ChatGPT: Tightest Spreadsheet Cap, Most Mature Data Analysis Tool
- Claude: Larger File Limit, Text-Based CSV Processing
- Gemini: Plan-Dependent Behavior, Incomplete Public Specs
- Grok and Perplexity: Brief Coverage
- Privacy Defaults: the Comparison That Actually Matters
- How to Pick the Right Platform for Your File
- Additional Resources
- FAQ
File Upload Limits Comparison Matrix
The platforms differ on four axes that matter for tabular data: upload cap, XLSX handling, default data retention, and training default. The upload cap tells you what you can send; the training default tells you what happens to it afterward. Knowing both is necessary when your file contains customer records, financial data, or anything you would not want used to train a public AI model.
| ChatGPT (Plus) | Claude web | Claude API | Gemini (personal) | |
|---|---|---|---|---|
| CSV/spreadsheet cap | ~50MB (Data Analysis tool) | 500MB per chat file; 30MB per Project file | Text block or Files API; no native spreadsheet parser | Not verified from Tier-1 public source — check Google Gemini support |
| XLSX behavior | Native (Data Analysis tool, ~50MB cap) | Requires "code execution and file creation" enabled | Not accepted as a document block | Not verified from Tier-1 public source |
| Per-file hard cap | 512MB (all file types) | 500MB (chat) | Files API limit | Not verified |
| Retention default | 30 days after deletion | 30 days after deletion | Per commercial terms | 18 months (personal); 72 hours with Keep Activity off |
| Training default | ON; opt out in account settings | ON (claude.ai); opt out in Privacy Settings | Governed by commercial terms | ON (personal); human review possible; Workspace governed by separate terms |
Sources verified May 2026: OpenAI File Uploads FAQ · Claude: Upload Files to Claude · Anthropic Privacy Policy · Google Gemini Data Privacy
Why File Limits Aren't Just About Size
File size is the most visible constraint because it is the one that produces an error message. But for tabular data that may contain personal or operational records, the privacy defaults are equally load-bearing. A file that is small enough to upload to all three platforms still triggers different retention and training behaviors depending on which one receives it.
Three constraints govern what you can do with a file on each platform. The first is upload size — the raw bytes the platform will accept. The second is processing depth — how much of the uploaded data the AI can actually reason about in a single session. The third is data handling after the upload — what the platform retains, whether it uses the content for training, and whether human reviewers may access it.
Most comparisons stop at constraint one. This post covers all three, because for a file containing customer email addresses or salary records, constraints two and three determine whether uploading was a mistake.
ChatGPT: Tightest Spreadsheet Cap, Most Mature Data Analysis Tool
ChatGPT's upload system distinguishes between file types in a way the other platforms do not. Spreadsheets and CSVs are loaded natively into the Data Analysis tool as in-memory dataframes — a binary operation that does not count against the text context window. This is why the effective cap for spreadsheet analysis is approximately 50MB, while the per-file hard cap for all other file types is 512MB.
What this means in practice:
- CSV and XLSX files under ~50MB upload and analyze directly — ChatGPT runs calculations, filters rows, and summarizes the actual dataset rather than a text representation
- Files over 50MB are rejected by the Data Analysis tool or silently truncated — ask ChatGPT to report the row count after upload to confirm full ingestion
- Files significantly over 512MB are rejected regardless of type
For a full breakdown of ChatGPT's row capacity, token math, and silent truncation behavior, see How Many Rows Can ChatGPT Handle?.
ChatGPT data handling defaults:
Uploaded files are stored on OpenAI's servers as part of your chat or Project. Conversations are used to train OpenAI's models by default unless you opt out in account settings. Deleted conversations are removed from your history immediately and from OpenAI's back-end within 30 days.
Claude: Larger File Limit, Text-Based CSV Processing
Claude's upload system is architecturally different from ChatGPT's. Where ChatGPT loads spreadsheets as dataframes, Claude reads CSV files as text documents — the entire file content enters the context window alongside the conversation. This distinction has significant practical consequences.
Claude web (claude.ai):
- CSV: 500MB per file for chat uploads; 30MB for Project files (confirmed May 2026 from Anthropic's support documentation)
- Up to 20 files per chat conversation
- XLSX: Requires "code execution and file creation" to be enabled in account settings; without it, Claude cannot parse the binary format
- Because CSV enters the context window as text, the effective analysis cap is context-window-limited — Claude cannot reason about rows that do not fit in context, even if the file uploaded successfully
The text-based approach means a 500MB CSV upload does not translate to 500MB of data analyzed. Claude's context window is the ceiling on what it can process in a single turn, and conversation history and system prompts consume part of that budget before your data arrives.
Claude API:
CSV is not a supported document block type in the Claude API — it must be passed as a text block or uploaded via the Files API. XLSX is not accepted as a document block at all. Convert to CSV and pass as plain text, or use the Files API for larger structured datasets.
Claude data handling defaults:
Anthropic's privacy policy states: "We may use your Inputs and Outputs to train our models and improve our Services, unless you opt out through your account settings." Training is on by default for claude.ai consumer accounts; opt out via Privacy Settings. Deleted conversations are removed from Anthropic's back-end within 30 days.
The Claude API is governed by Anthropic's commercial terms, not the consumer policy — API and enterprise data handling is contractually defined and does not default to model training.
Gemini: Plan-Dependent Behavior, Incomplete Public Specs
Gemini's file upload behavior is the hardest to verify from public documentation. Upload limits for the consumer Gemini web app are not consistently published in an accessible, Tier-1 Google support document — this section notes where claims are unverified and links to Google's support hub rather than citing figures that could be stale.
What can be verified from Tier-1 Google sources:
The Gemini API (developer tier) has a 2GB per-file limit, 20GB of project storage, and 48-hour file auto-deletion. These figures apply to the developer API only, not the consumer Gemini web app. Gemini for Google Workspace is governed by separate data-handling terms that explicitly exclude consumer-policy language.
For current consumer web app upload limits, verify directly at Google's Gemini support hub — this is the authoritative source, and these specifications change more frequently than the other platforms.
Gemini data handling defaults (consumer, verified):
Google's published policy states: "Google uses this data...to provide our services, maintain and improve our services, develop new services" and explicitly notes that "these uses extend to the generative AI models and other machine-learning technologies powering our services." Consumer Gemini conversations are used for model training by default.
Human review is real and documented: "A subset of chats are reviewed by human reviewers (including Google's trained service providers) to help improve Google services." Google's documentation warns: "don't enter confidential information that you wouldn't want a reviewer to see."
Default retention is 18 months, configurable between 3 months, 36 months, or indefinite. With Keep Activity set to OFF, temporary chats are retained 72 hours for safety purposes only, not model training; human-reviewed chats are retained up to 3 years regardless of account deletion settings.
Grok and Perplexity: Brief Coverage
Two additional consumer AI platforms accept file uploads but are less common choices for spreadsheet analysis. Coverage below is informational; the three-platform matrix above remains the practical decision frame for CSV and Excel workflows.
| Grok (X Premium+) | Perplexity Pro | |
|---|---|---|
| Upload cap | ~48MB per file (per published comparison data) | ~50MB per file |
| Native spreadsheet handling | Text-mode parsing; no dedicated Data Analysis tool | Text-mode parsing |
| Training default | Consumer plan trains by default; opt out via X account settings | Consumer plan uses uploads to improve responses; check current Privacy Center for opt-out |
| When to consider | Already using X Premium+ for other features | Already using Perplexity for research workflows |
| When to skip for CSV work | Spreadsheet analysis is not the core strength | Better suited to mixed-source research than tabular data |
For the most current upload caps and training defaults on Grok and Perplexity, verify directly at each platform's support documentation — these specifications change more frequently than the three major platforms above.
Privacy Defaults: the Comparison That Actually Matters
All three platforms train on consumer conversations by default. This is not a gotcha — it is the stated policy of each platform, and each provides an opt-out mechanism. The meaningful differences are in human review exposure, retention periods, and what remains subject to processing even after opt-out.
ChatGPT: Training on by default; opt out in account settings. Deleted conversations purged within 30 days. Consumer policy does not document routine human review of individual conversations for model improvement.
Claude (claude.ai): Training on by default per Anthropic's published privacy policy; opt out in Privacy Settings. Safety-flagged content and explicitly reported content remain subject to training use even after opt-out. Deleted conversations purged within 30 days.
Gemini (personal): Training on by default; reduce by turning off Keep Activity (72-hour retention, not used for training). However, a subset of conversations is reviewed by human reviewers regardless of Keep Activity status, and those reviewed chats are retained for up to 3 years. There is no equivalent to ChatGPT's or Claude's training opt-out that prevents human access entirely.
The shared implication:
None of these platforms is zero-exposure for uploaded files. The only zero-exposure path is to not upload the raw file at all. For a customer export or financial dataset, the practical answer is to strip or mask sensitive columns before any file reaches an AI tool, keeping the raw data on your device. For size reduction before upload, see Excel File Too Big for AI? and How to Split a Large CSV for ChatGPT.
How to Pick the Right Platform for Your File
-
What is the data sensitivity?
- Contains PII (names, emails, financials, account data): mask or remove sensitive columns before uploading to any platform; enable the training opt-out on your chosen platform
- No PII or pre-anonymized: proceed to step 2
-
What is the file size?
- Under ~50MB: all three can handle it; differences are workflow and privacy posture
- 50MB–500MB: ChatGPT's Data Analysis tool will reject it; Claude's general chat upload accepts it, but analysis is context-window-limited; verify Gemini's current limits at Google's support hub
- Over 500MB: split before uploading — see How to Split a Large CSV for ChatGPT Without Uploading It and Excel File Too Big for AI?
-
What is your workflow?
- Interactive analysis: ChatGPT's Data Analysis tool is purpose-built for this; Claude works but reads CSV as text, which affects large datasets
- Fine-tuning, batch API, or RAG pipeline: format as JSONL first — see Best Format for Feeding Data Into ChatGPT or Claude
- API integration: Claude API does not accept CSV as a document block; plan accordingly
-
What is your privacy posture?
- Enable the training opt-out on your chosen platform before uploading any file with business data
- If human review exposure is a concern, Gemini's documented reviewer access is the most explicit risk across the three; Claude and ChatGPT do not document routine consumer conversation review in the same way
- For regulated data (HIPAA, GDPR Article 5 scope), consult the enterprise tier — consumer defaults on all three platforms are unlikely to satisfy those requirements
Before uploading to any of these platforms, prepare the file locally: mask sensitive columns and split oversized files so the raw data never leaves your device. Data Masking handles column pseudonymization in your browser — nothing is sent to a server. For format conversion before upload, Format Converter handles CSV, JSON, JSONL, and Excel locally.
Additional Resources
How this guide was built: File upload limits verified against live platform documentation, May 2026. Note: several competitor comparisons conflate Claude's Project file limit (30MB per file) with its general chat upload limit (500MB per file); the matrix above distinguishes these accurately. Claude limits from support.claude.com/en/articles/8241126. Anthropic training policy from anthropic.com/privacy. Gemini data handling from support.google.com/gemini/answer/13594961. ChatGPT limits: OpenAI File Uploads FAQ (pages returned 403 during verification; figures carried from May 2026 source verification). Gemini consumer web app upload caps could not be sourced from a current Tier-1 Google document; matrix cell marked accordingly.
- OpenAI: File Uploads FAQ — ChatGPT upload frequency, ~50MB spreadsheet cap, 512MB hard cap, storage per user and org.
- OpenAI: Privacy at OpenAI — Retention and training policy for ChatGPT Plus users.
- Claude: Upload Files to Claude — Confirmed file size limits (500MB chat, 30MB projects, 20 files/chat) and "code execution and file creation" XLSX requirement.
- Anthropic Privacy Policy — Training on by default for claude.ai; opt-out in Privacy Settings; 30-day deletion retention.
- Google Gemini Data Privacy — Training default, human review policy, 18-month retention, 72-hour Keep-Activity-off retention, 3-year reviewed-chat retention.
- Google Gemini Support Hub — Current upload specifications; verify here rather than relying on third-party sources.
- MDN: Web Workers API — How browser-based tools process files on-device without server exposure.
- How Many Rows Can ChatGPT Handle? — Full breakdown of the ~50MB Data Analysis tool cap, token math, and silent truncation behavior.
- How to Split a Large CSV for ChatGPT Without Uploading It — Step-by-step workflow for chunking files that exceed any platform's upload cap.
- Excel File Too Big for AI? Reduce It in Your Browser First — Stripping Excel bloat, splitting by sheet, and exporting to JSONL before upload.
- Best Format for Feeding Data Into ChatGPT or Claude — Format decision matrix: CSV vs JSON vs JSONL vs Excel by platform and workflow.
- Prepare CSV & Excel Data for AI — Complete Guide — The full local-prep workflow before any file reaches an AI platform.
FAQ
Mask Sensitive Columns Before Any Platform Sees Them
Check upload caps before choosing a platform — ChatGPT's Data Analysis tool caps at ~50MB; Claude accepts 500MB per chat but processes CSV as text in the context window Enable training opt-out on any platform before uploading files with business data — all three consumer plans train by default Split files over 50MB before uploading to ChatGPT — the Data Analysis tool cap applies regardless of the per-file hard cap Mask sensitive columns locally before any upload — PII reaches zero platforms when it never leaves your device