Preparing Your Data Before You Ask
Checking whether your whole file actually made it in¶
As Why Dumping a File Rarely Works covers, a file that is too large does not reliably produce an error. It can produce a confident, partial answer instead. No major vendor documents a purpose-built way to confirm a file was read in full. The closest primary-sourced option belongs to Anthropic, and even that is an inference, not a built-in check.
Anthropic documents a hard, numeric limit on PDF requests. The cap is 600 pages, or 100 pages when the request's context window is under one million tokens (Anthropic, 2026). A reader who knows their own document's page count can compare it against that stated ceiling before uploading. Anthropic also offers a free token-counting endpoint. It reports how many tokens a file will consume before it is sent (Anthropic, 2026). Running a file through that endpoint first tells a reader whether it fits. The tool is documented for managing cost and rate limits, not for confirming completeness. Treat both as a proactive check to run beforehand. Neither is a confirmation you can request after the fact, since no vendor's documentation offers one.
Splitting or restructuring large files before you upload¶
Given no vendor can confirm full processing after the fact, the safer move is preventing partial processing in the first place. Anthropic's own documentation recommends this directly for PDFs. Split a large document into sections, and downsample any embedded images (Anthropic, 2026). Each page is processed as an image regardless of its actual content, so size matters more than a reader might expect. The same logic extends past PDFs. A single request has to hold your entire file, alongside your prompt and the model's answer. A file near a vendor's stated size limit leaves little room for anything else.
For spreadsheets, splitting means something more specific. It means staying under whatever row limit the receiving tool actually enforces. OpenAI's file-input API is the clearest documented case. It silently processes only the first one thousand rows of a sheet (OpenAI, 2026). It substitutes a generated summary for the rest. A sheet with more rows than that needs a different approach. Split it into separate uploads, or reduce it to the specific rows the question actually requires. Do not send it whole and assume it was read whole.
Converting formats the tool handles poorly¶
As Why Dumping a File Rarely Works covers, Excel and PDF each carry a format-specific risk beyond size. Anthropic's Files API does not treat Excel files as a natively supported document type. A spreadsheet must first be converted to plain text, or routed through the code-execution tool, before Claude can work with it directly (Anthropic, 2026). Converting a spreadsheet to CSV before upload sidesteps that gap entirely. It also sidesteps the separately documented merged-cell bug reported on OpenAI's own developer community forum (OpenAI Developer Community, 2026). A flat CSV has no merge regions for a parsing library to misread in the first place.
PDF tables do not have as clean a fix. The underlying problem is not a parsing bug, but the format itself: a PDF has no structured cell data at all. Claude processes its pages as images instead. That is why a dense or complex table can exhaust the context window before the document's own page limit is reached (Anthropic, 2026). When the source data is available as a spreadsheet or a CSV export, use that version instead of a PDF. When it is not, the splitting and downsampling steps above are the closest defense current documentation supports.
Sources¶
- Anthropic — PDF support, 2026. Maximum request size | 32 MB (varies by platform). Maximum pages per request | 600 (100 when the request's context window is under 1M tokens). Both limits are on the entire request payload, including any other content sent alongside PDFs. View source · verified 2026-07-06 · primary
- Anthropic — Token counting, 2026. Token counting lets you determine the number of tokens in a message before you send it to Claude. This helps you make informed decisions about your prompts and usage. The token count should be considered an estimate. In some cases, the actual number of input tokens used when creating a message may differ by a small amount. View source · verified 2026-07-06 · primary
- Anthropic — PDF support, 2026. Try splitting the document into sections; for large files, since each page is processed as an image, downsampling embedded images can also help. View source · verified 2026-07-06 · primary
- OpenAI — File inputs, 2026. For spreadsheet-like files (such as .xlsx, .xls, .csv, .tsv, and .iif), input_file uses a spreadsheet-specific augmentation process. Instead of passing entire sheets to the model, the API parses up to the first 1,000 rows per sheet and adds model-generated summary and header metadata so the model can work from a smaller, structured view of the data. View source · verified 2026-07-06 · primary
- Anthropic — Files API, 2026. For file types that the document block doesn't support (for example, .docx and .xlsx), convert the files to plain text and include the content directly in your message... To analyze datasets instead of reading them as text, upload them for the code execution tool using a container_upload block. View source · verified 2026-07-06 · primary
- OpenAI Developer Community — Advanced Data Analysis GPT-4 | Excel Files - Bugs, 2026. cells move out, chatgpt is mistaken when there are merged cells in the file, it does not perceive them. View source · verified 2026-07-06 · ⚠ secondary mirror
- Anthropic — PDF support, 2026. Dense PDFs (many small-font pages, complex tables, or heavy graphics) can fill the context window before reaching the page limit. Requests with large PDFs can also fail before reaching the page limit, even when using the Files API. View source · verified 2026-07-06 · primary