Claude upload limits
Claude file upload limits in 2026: size, count and file types
As of October 2026, Claude takes up to 20 files per chat at up to 500 MB each, while project files and code execution cap each file at 30 MB. If a dataset is too big or fills the context window, trim it first in rows.page, free and in your browser.
No file handy? Open CO2 emissions by country and year (50k rows, 14 MB).
All Claude file upload limits at a glance
Anthropic sets different caps depending on where you add the file. These numbers were checked against the Claude Help Center and the Claude API docs in October 2026.
| Limit | Value |
|---|---|
| Files per chat | Up to 20 |
| File size in chat | Up to 500 MB per file |
| PDF length | Up to 1,000 pages (charts and images read up to 100 pages) |
| Project files | Up to 30 MB per file, as many as fit in the context window |
| Code execution files | Up to 30 MB per file, for uploads and downloads |
| Image dimensions | Up to 8000 x 8000 pixels |
| Files API | 500 MB per file, 1 TB per organization |
| Context window on paid plans | 200K to 1M tokens, depending on the model |
Passing the size check does not mean Claude can read the whole file. The text it extracts still has to fit in the context window.
Chat uploads vs project files vs code execution vs the Files API
Where you add a file changes the ceiling from 500 MB down to 30 MB:
- Chat uploads: up to 20 files per chat and 500 MB per file. From documents other than PDFs, Claude reads the text only.
- Project files: 30 MB each. You can add any number, but their total content must fit in the context window, which makes 30 MB a common blocker for big CSV or JSON exports.
- Code execution: 30 MB per file. This is the path when Claude analyzes a dataset with Python, and it is required for
XLSXuploads. - Files API: 500 MB per file and 1 TB per organization, for developers who upload once and reference the file across API calls.
Which file types does Claude accept?
The Claude Help Center lists these file types:
- Documents:
PDF,DOCX,TXT,HTML,ODT,RTF,EPUB - Data:
CSV,JSON,XLSX - Images:
JPEG,PNG,GIF,WebP, up to 8000 x 8000 pixels
XLSX uploads only work with code execution and file creation turned on in your settings. Parquet is not on the list.
Why the context window is the real limit for text and CSVs
A 500 MB cap sounds huge, but text files fill the context window long before that. On paid plans, Claude's chat context window ranges from 200K to 1M tokens depending on the model, and a dense CSV or nested JSON file far below 500 MB can use all of it.
With code execution on, Claude can work through a data file with Python instead of reading it all as text, but the file then has to be 30 MB or less. Either way, raw exports from databases, logs or analytics tools usually need cutting down first.
How to trim oversized data files in rows.page before uploading
rows.page runs DuckDB-WASM in your browser tab, so your file stays on your machine unless you press Share, and you don't need an account. It opens CSV, TSV, JSON and JSONL up to 1.5 GB per tab, and Parquet without that check.
- Drop your
.csv,.tsv,.json,.jsonlor.parquetfile onto rows.page. - Filter rows in the search box with
country:NL,price:>20or-name:*(empty values), or click histogram bars and top values in the Columns panel. - For bigger cuts, type a DuckDB SQL query that starts with
SELECT,WITHorFROM. The table is calleddata, and results return up to 1,000,000 rows. - Export the filtered view or SQL result as
CSV,JSON,JSONL,Parquetor Markdown (first 1,000 rows).
Nested JSON fields become dot-path columns, which need double quotes in SQL:
SELECT "user.city", count(*) AS orders, sum(total) AS revenue
FROM data
WHERE status = 'complete'
GROUP BY "user.city"
ORDER BY revenue DESCUpload the exported result instead of the raw file. rows.page does not open Excel files, so save a large .xlsx as CSV first.
Connect Claude to the rows.page MCP server for result tables
Instead of downloading and re-uploading files, connect Claude to the rows.page MCP server at https://rows.page/mcp, listed in the official MCP registry as page.rows/rows. Claude can then push result tables and hand you a link, or inspect a hosted dataset without pulling the whole file into context.
In Claude Code, add the server from your terminal:
claude mcp add --transport http rows https://rows.page/mcpIn Claude Desktop, run the remote bridge with npx:
npx mcp-remote https://rows.page/mcpThe tools are push (inline content up to 16 MB, or a url), pin_finding, get_dataset (last 20 versions and 20 preview rows), list_datasets (needs an API key), delete_dataset and get_limits. The server allows 60 requests per minute, and anonymous pushes work without setup.
You can also push a file with curl -T data.csv https://rows.page and ask Claude to read it through get_dataset, so only 20 preview rows enter the context. Anonymous links expire after 7 days unless you sign in with Google and keep the dataset on your account.
rows.page limits and prices
| What | Limit or price |
|---|---|
| Open a file in your browser | Files up to 1.5 GB, $0, no account, nothing uploaded |
| Share a link without an account | $0, files up to 100 MB, link deleted 7 days after creation |
| Free account | $0, 10 datasets kept, last 3 versions |
| Pro | $12/month, 100 datasets, files up to 500 MB, private links |
| Max | $39/month, 1,000 datasets, files up to 2 GB, private links |
Questions
Can Claude open XLSX files without code execution?
No. XLSX uploads need code execution and file creation turned on, and code execution caps files at 30 MB. Split a larger workbook, or save it as CSV and trim it before you upload.
How many files can I upload to a Claude chat at once?
Up to 20 files per chat, each up to 500 MB. The text Claude extracts from them still has to fit in the context window, which is 200K to 1M tokens on paid plans depending on the model.
What is the maximum image size for Claude uploads?
Claude accepts JPEG, PNG, GIF and WebP images up to 8000 x 8000 pixels. Images count toward the limit of 20 files per chat.
What are the Claude Files API limits for developers?
The Files API takes up to 500 MB per file and 1 TB of total storage per organization, according to the Claude API docs checked in October 2026.
Can I open Parquet files in Claude or rows.page?
Claude's file list covers PDF, DOCX, CSV, TXT, HTML, ODT, RTF, EPUB, JSON and XLSX, not Parquet. rows.page opens .parquet and .pq files in your browser without the 1.5 GB check, so you can export the rows you need as CSV or JSON for Claude.