Does AWS Textract Have a Page Limit? Sync vs Async, Explained
Jul 11, 2026 • 6 min read
AWS Textract reads one page synchronously and up to 3,000 pages asynchronously. Here is the exact page and file-size limit for each call type, why a multi-page PDF fails on the sync call, and how to read a long document.
// Try it now
PDF, JPG, PNG, BMP, HEIC, TIFF
Upload a document to extract
Drop files here or click to upload
Up to 50 files
Uploading...
Last updated July 2026.
Yes, AWS Textract has a page limit, and it depends on the operation. The synchronous operations, DetectDocumentText and AnalyzeDocument, accept a single-page PDF or TIFF up to 10 MB. The asynchronous operations, StartDocumentTextDetection and StartDocumentAnalysis, accept up to 3,000 pages and 500 MB, read from Amazon S3. So the practical page limit is 1 page synchronously and 3,000 pages asynchronously, and any multi-page PDF has to use the async path.
This one detail causes more confusion than anything else in Textract. A developer sends a five-page invoice to the synchronous call, gets an error, and assumes something is broken. Nothing is broken. The synchronous API is built to return an answer inside the same request, and it can only do that for a single page or image. The numbers below come straight from the AWS Textract documentation, read in July 2026, and because AWS revises its quotas you should confirm each figure on the current doc before you design around it.
Does AWS Textract have a page limit?
Yes. Textract enforces a hard page limit that changes with the call type. Synchronous calls process one page of a PDF or TIFF at a time. Asynchronous calls process up to 3,000 pages in one job. These are set quotas, which AWS says cannot be changed, so you cannot request a higher per-document page count the way you can raise a per-second rate limit. The limit is not about your account tier; it is about which API you call.
What is the AWS Textract synchronous page limit?
The synchronous page limit is one page. DetectDocumentText, AnalyzeDocument, AnalyzeExpense and AnalyzeID all accept a single-page PDF or TIFF, or one JPEG or PNG image, with a 10 MB in-memory cap. They return the result in the API response, which is why they are limited to a single page: the whole extraction has to fit in one synchronous round trip. If you only ever process single-page documents, receipts, ID cards, one-page forms, the synchronous API is the simplest path and the one-page limit never bites.
How many pages can Textract process asynchronously?
Up to 3,000 pages in a single PDF or TIFF, with a 500 MB file-size limit, read from an Amazon S3 bucket. That is the highest single-document page count among the major cloud OCR services, ahead of Azure AI Document Intelligence at 2,000 pages in one call and Google Document AI at up to 1,000 pages per file in batch. The tradeoff is that you manage a job rather than a request: you call StartDocumentTextDetection or StartDocumentAnalysis, get a JobId back immediately, then poll for the result or wait for an Amazon SNS notification.
Textract page and file-size limits at a glance
| Limit | Synchronous | Asynchronous |
|---|---|---|
| Max pages (PDF/TIFF) | 1 page | 3,000 pages |
| Max file size | 10 MB | 500 MB (PDF/TIFF), 10 MB (JPEG/PNG) |
| Input source | Bytes or S3 | Amazon S3 only |
| Result | In the response | Poll the JobId |
| Queries per page | Up to 15 | Up to 30 |
For the full set of Textract constraints, including PDF dimension caps and format rules, see our AWS Textract limits reference.
Can Textract read a multi-page PDF?
Yes, but only through the asynchronous API. A multi-page PDF has to go to StartDocumentTextDetection or StartDocumentAnalysis, not the synchronous calls. The steps are: upload the PDF to an S3 bucket, start the job, poll GetDocumentTextDetection or GetDocumentAnalysis until the status is SUCCEEDED, then page through the blocks and reassemble the text and fields by page number. Textract also rejects XFA-based PDF forms and password-protected PDFs, and a JPEG 2000 image inside a PDF is fine. If your PDFs are encrypted or XFA forms, you have to preprocess them before Textract will read them at all.
What is the Textract file size limit?
Ten megabytes for synchronous calls, and 500 MB for asynchronous PDF and TIFF files read from S3. JPEG and PNG images stay at 10 MB even asynchronously. A PDF page can be at most 40 inches or 9,000 points on a side, and an image at most 10,000 pixels per side. If a file is over 500 MB you have to split it into chunks under the limit, process each chunk, and stitch the pages back together. In practice the file-size limit and the page limit push you toward the same answer for anything substantial: use the async job.
How do I fix the Textract page limit error?
Switch from the synchronous call to the asynchronous one. If you are calling AnalyzeDocument or DetectDocumentText on a multi-page PDF and getting an UnsupportedDocumentException or a single-page result, that is the sync one-page limit. Move the file to S3, call the matching Start operation, and poll for the JobId. If the file itself is too big, split it first. This is the standard fix, and it is well documented, but it does mean writing and maintaining the async workflow: the S3 upload, the polling loop or SNS handler, pagination, and reassembly.
Is there a way to skip the async plumbing?
If your goal is simply to turn long documents into structured data, and you would rather not build and maintain the Textract async workflow, a ready-to-use product handles the page and file-size limits for you. You upload the full PDF in one step, and the product batches, splits and polls behind the scenes, then returns clean fields with a review step for anything low-confidence. That is the model DocuOCR uses, and it removes the sync-versus-async decision from your code entirely. When the extracted data needs to land somewhere your team can work with, you can also just turn a multi-page PDF into a clean spreadsheet and skip the API layer for one-off jobs.
The bottom line on Textract page limits
AWS Textract has a page limit of one page synchronously and 3,000 pages asynchronously, with file caps of 10 MB and 500 MB. The page count is generous once you use the async API; the friction is the async API itself. Before you commit, decide how many of your documents are truly multi-page, because that answer determines whether you can live on the simple synchronous path or need to build the asynchronous job. To see how Textract's ceilings compare with Azure, Google, Mistral and Gemini, read the OCR API limits comparison, and to see what each service costs per 1,000 pages, the OCR API pricing comparison.
Extract your documents with DocuOCR
Upload a document and get clean, structured data in seconds. No template setup required.
Start free