Textract vs Azure vs Gemini: Split OCR From Extraction

At two million pages a month, Amazon Textract's Forms + Tables + Queries bundle bills $125,000 and a Gemini Flash-Lite schema prompt bills $3,155. The gap is a pricing structure, not a technology gap — buy OCR and field extraction separately.

By Rajesh Beri·August 27, 2026·20 min read
Share:
An open flatbed scanner with its lid raised, a thick untidy stack of creased paper invoices piled on the glass, the top sheet skewed and carrying a handwritten annotation in blue ballpoint ink.

Illustration generated using AI

Buy OCR and field extraction as two separate things. That one decision is worth more than every accuracy benchmark in this article combined, because the bundled products charge you a premium for reading the page and then charge you again for understanding it — and the premium is roughly 40x.

Here is the whole verdict. For structured, high-volume documents where you need a confidence score on every field, Azure AI Document Intelligence is the default: $10 per 1,000 pages for a prebuilt invoice model, $7.50 with a commitment tier, and it is the only one of the three incumbents you can run air-gapped. For unstructured documents where you need reasoning rather than transcription, put a Gemini-class model behind your own schema and build the confidence gate yourself — it runs at about $1.58 per 1,000 pages. Amazon Textract is the option to avoid unless AWS is a hard constraint: its Forms + Tables + Queries bundle costs $70 per 1,000 pages for the first million, it reads handwriting in English only, and the human-review product built for it is closed to new customers.

Option Published rate 2M pages/month Per-field confidence Handwriting
Textract Forms + Tables + Queries $70 / $55 per 1,000 $125,000 Yes English only
Textract AnalyzeExpense $10 / $8 per 1,000 $18,000 Yes English only
Azure DI prebuilt-invoice $10 per 1,000 $20,000 Yes 12 languages
Google Document AI Custom Extractor $30 / $20 per 1,000 $50,000 Yes Per-language flag
Mistral OCR 4.1 with annotations $5 per 1,000 $10,000 Page/block/word, not per field Not published
Gemini 3.5 Flash-Lite, schema prompt 258 tokens/page in ~$3,155 None Broad

All prices checked against vendor pricing pages on 28 August 2026. The Gemini figure assumes 600 output tokens of JSON per page; that assumption is the number that moves, and I show the arithmetic below.


The Workload These Numbers Assume

Every vendor quotes the metric that flatters it, so this article normalises to one workload and prices everything against it.

Two million pages a month of accounts-payable documents — supplier invoices, delivery notes, remittance advice. Fourteen fields per document plus line-item tables. Roughly 60% native-text PDF, 30% scanned, 10% photographed on a phone or carrying handwritten annotations in the margin. Entities in the US and the EU, so residency matters. That is a mid-size shared-services operation replacing a legacy OCR pipeline, which is exactly the buyer this decision lands on.

Two definitions worth pinning down, because vendors blur them deliberately. OCR is turning pixels into characters and coordinates. Field extraction is deciding which of those characters is the invoice total. They are separate problems, they have separate error modes, and — this is the commercial point — they are sold to you bundled at the price of the harder one.


Amazon Textract Is the Most Expensive Way to Read a Page

Textract's problem is not accuracy. It is that its pricing was designed for a world where nothing else could extract a table.

Run our 2M pages through AnalyzeDocument with Forms, Tables and Queries and the published rate is $70 per 1,000 pages for the first million and $55 above it — $125,000 a month, a blended $62.50 per 1,000 pages. Drop to Tables + Queries and it is $20 then $15 per 1,000, or $35,000. Use the invoice-specific AnalyzeExpense API instead and it is $10 then $8, or $18,000. Same documents, same account, a 7x spread depending on which API you happened to reach for.

That is before the two constraints that should decide it.

Handwriting is English-only. Amazon's own FAQ states that Textract "can extract printed text, forms and tables in English, German, French, Spanish, Italian and Portuguese" and that it "can detect printed text and handwriting from the Standard English alphabet and ASCII symbols" — six languages printed, one handwritten. If 10% of your pages carry a handwritten note and any material share of those are in French or German, Textract cannot read them at any price.

The human-review product is shut. Amazon Augmented AI (A2I) was the sanctioned way to route low-confidence Textract predictions to a reviewer. AWS documentation now carries this note: "Amazon SageMaker A2I is no longer open to new customers. Existing customers can continue to use the service as normal. AWS continues to invest in security and availability improvements for A2I, but we do not plan to introduce new features." If you are buying Textract today, the correction workflow is yours to build.

Steel-manning it: Textract is genuinely good, and independent testing backs that. A 93-file evaluation across 17 document types published this year found Textract's text mode among the top performers on coverage and "the best engine on a lot of the medium types" — bank statements, receipts, shipping documents. But the same evaluation's verdict on the expensive tier is the one to quote at your account manager: "Textract is a stable choice, but structured buys you almost no additional text accuracy."

You are paying $70 per 1,000 pages for structure. Buy the $1.50 text tier and get structure somewhere else.


Azure Is the Only One You Can Run Air-Gapped

If a regulator, a works council or a defence contract requires that documents never leave your building, Azure AI Document Intelligence is the only one of these products that can do it — and Microsoft says so in writing.

Microsoft's own decision guide for choosing between its document-processing tools lists the scenario "on-premises or air-gapped deployment" with the recommendation "DI containers" and the justification "Only option today". Disconnected containers bill against a purchased commitment tier rather than sending usage over the internet, and per the service FAQ "disconnected container usage is available for Document Intelligence custom and invoice models" — a real limit worth checking against your document mix before you architect around it.

The cloud pricing is also the most legible of the three, once you know where to look. The rates on Microsoft's Document Intelligence pricing page render as placeholders in a lot of contexts; the machine-readable Azure Retail Prices API returns them cleanly. As of 28 August 2026 the S0 meters are: Read $1.50 per 1,000 pages, prebuilt models $10, custom extraction $30, custom generative $30, document classifier $3, query fields $10, add-on features $6, and training $3 an hour.

The commitment tiers are where the money is and almost nobody reads them. A 1,000K-page prebuilt commitment is $7,500 a month — $7.50 per 1,000 pages, a 25% discount on pay-as-you-go, with overage at that same $7.50. On the Read meter a 16,000K commitment is $7,200 a month, which is $0.45 per 1,000 pages — but it bills for 16M pages whether you send them or not, so at our 2M it costs more than pay-as-you-go. If your plan is "cheap OCR, smart extraction downstream", the commitment curve is the thing to model.

One practical warning. The billing names lag the product name. The FAQ is explicit that "the names Cognitive Services and Applied AI Services continue to be used in Azure billing, cost analysis, price lists, and price APIs", and the price API still carries a legacy Form Recognizer product alongside the current one — with a stale $50 custom-pages rate sitting on it. Filter on the wrong name and you will budget against a number that stopped applying years ago.


Handwriting Is Where the Incumbents Actually Break

Handwriting support is the cleanest way to separate marketing from capability, because both hyperscalers publish the list and the lists are short.

Azure's Read and Layout models support printed text in well over 200 languages. They support handwritten text in exactly twelve: English, Chinese Simplified, French, German, Italian, Thai, Japanese, Korean, Portuguese, Spanish, Russian and Arabic. Textract, as established, does one. Google flags handwriting language-by-language in its Document AI language table rather than publishing a headline list.

The vision-language models are where handwriting quietly got solved, and the independent evidence is consistent on the direction if not the magnitude. The OCR engine evaluation cited above found that on hard documents "Gemini Flash started rising, beating Textract on forms and handwritten notes", while Tesseract and Docling "failed hard on handwritten" content. That is one practitioner's test set, not a standard, and should be read as directional.

The more telling signal is an absence. The IDP Leaderboard, which ranks 26 document-AI systems across OCR, table extraction and key-information-extraction benchmarks, is topped by Nanonets OCR-3 (85.9 overall), GPT-5.4 (83.5) and Gemini-3-Pro (82.8). Amazon Textract, Azure Document Intelligence and Google Document AI do not appear on it. The incumbents have exited the benchmark conversation entirely — you can read that as the benchmarks being unrepresentative of enterprise documents, which is a fair argument, or as three products that stopped competing on accuracy. Probably both.

Treat the leaderboard numbers with the same caution their own ecosystem does. LlamaIndex has argued that OmniDocBench, the benchmark underneath most of these scores, is saturated — models now cluster above 90%, exact-match scoring punishes functionally equivalent table markup, and the dataset "ignores other relevant elements like visuals, handwriting, and form fields". A benchmark that omits handwriting is not the instrument for a handwriting decision. Run your own hundred pages.


Schema-Driven Extraction Killed the Labeling Step

The labeling project is the part of an extraction rollout that used to consume a quarter, and on all three platforms it is now optional.

Azure's traditional custom models still want labels — but only five examples of a document type to get started, with custom template models training in 1 to 5 minutes and custom neural models in 30 minutes to 12 hours. Microsoft's decision guide recommends the labeled path specifically for "custom extraction with labels for highly structured documents (for example, claims, standard applications)", citing "neural model training with as few as 5 labeled samples".

For everything else Microsoft now routes you away from Document Intelligence and toward the LLM-backed analyzers in its Foundry stack. Its guidance for "custom extraction without labels, or for unstructured documents (for example, policies, referral letters, doctor notes)" is a Content Understanding custom analyzer, because you "describe fields in plain language; iterate fast". That is a vendor telling you its own flagship OCR product is the wrong tool for unstructured work.

Mistral's approach is the most honest about what this actually is. Its OCR line sells the schema step as a named, separately priced feature rather than folding it into a bundle. OCR 4.1, released 16 July 2026, bills at $4 per 1,000 pages and $5 per 1,000 annotated pages, where "annotated" means you hand it a schema and get structured fields back. The pricing table also lists a cached rate of $0.40 per 1,000 pages, which matters if you reprocess the same documents. At our 2M pages that is $10,000 a month for schema-driven extraction — a fifth of Google's Custom Extractor, a twelfth of Textract's forms bundle.

Google's Custom Extractor sits at $30 per 1,000 pages for the first million and $20 above it, or $50,000 a month for our workload. Its Enterprise Document OCR is $1.50 per 1,000 up to 5M pages and Layout Parser is $10. As an OCR layer Google is priced identically to Azure. As an extraction platform it is the worst value on this page.


Nobody Sells You Human Review Anymore

If your plan involves buying a managed human-in-the-loop correction queue from your document vendor, that plan is three years out of date. Both hyperscalers have withdrawn theirs.

Google's Document AI documentation lists Human-in-the-Loop with a deprecated date of January 16, 2024 in its feature deprecation table. AWS's A2I, as quoted above, is closed to new customers. Azure never sold a managed reviewer pool at all — its Studio gives you a labeling and correction interface, not staffed review.

So human-in-the-loop is now something you build. That reframes the whole comparison, because the thing you need in order to build it cheaply is a calibrated per-field confidence score — the number that decides whether a document goes straight through or into a queue. Straight-through processing rate is the metric that actually determines your cost per document, not the API price.

This is where the LLM route has a real, structural weakness, and the clearest statement of it comes from a vendor selling both sides. Microsoft's comparison of its managed services against building your own on Azure OpenAI lists, under "Confidence & Grounding": "No (requires custom implementation)", and spells out the consequence — "With no confidence scores, you either accept all results or review all results based on the expected error rate, or you can build your own confidence model to score the output."

Read that sentence twice before you sign off on the 40x saving. A model that is 3% wrong with no signal about which 3% is not cheaper than one that is 5% wrong and tells you where. It is either 100% reviewed or 3% wrong in production, and both of those are expensive.

The workaround is real but it is engineering, not procurement: sample the model multiple times at non-zero temperature and use disagreement as your confidence proxy, or run a second cheap model as a cross-check and queue the disagreements. Budget for it explicitly. It is the line item that makes the LLM route honest.


What Your Documents Are Worth to the Vendor

Retention and residency are where the three incumbents differ most and where their marketing pages differ least. Read the terms, not the trust page.

Amazon Textract's default posture is the one to know about. Its FAQ states that "Amazon Textract may store and use document and image inputs processed by the service solely to provide and maintain the service and to improve and develop the quality of Amazon Textract", and that content "may be stored in another AWS region" in connection with that. The AWS Organizations opt-out policy documentation is blunter: "AWS AI services may use and store customer content for service improvement... For this purpose, we might store such content in an AWS Region outside of the AWS Region where you are using the service." Textract is on the list of services that policy covers. This is opt-out, at the organisation level, and off by default. If you are processing invoices with EU personal data through Textract and nobody has attached that policy, your data-residency assertion is wrong today.

Azure's is the tightest. Per the service FAQ: "Document Intelligence temporarily stores data and results in Azure Storage in the same region as the request. Your data is then deleted 24 hours from the time that you submit an analyze request." The v4.0 API adds a delete-analyze-result call if 24 hours is too long. Same region, bounded window, explicit deletion — that is the shape a privacy review wants.

Google's constraint is geographic. Document AI runs in two multi-regions (us, eu) and six single regions: Mumbai, Singapore, Sydney, London, Frankfurt and Montréal. If your residency requirement names a country outside that list — Japan, Brazil, the Gulf — Document AI cannot satisfy it, and no contract clause changes that.


When a General LLM Is Genuinely Enough

A general model is enough when your documents are unstructured, your field list changes more often than quarterly, and you can afford to build the confidence gate yourself. Here is the arithmetic, in full, so you can substitute your own numbers.

Google bills document pages at 258 tokens each under the image modality. At our 2M pages that is 516 million input tokens. Gemini 3.5 Flash-Lite is $0.30 per million input tokens and $2.50 per million output. Assume 600 output tokens of JSON per page for fourteen fields plus line items:

  • Input: 516M x $0.30/M = $154.80
  • Output: 1.2B x $2.50/M = $3,000.00
  • Total: $3,154.80 a month, or $1.58 per 1,000 pages

Against Textract's blended $62.50 that is just under 40x. On the batch tier ($0.15 in, $1.25 out) it halves again to $1,577 a month. If Flash-Lite is not accurate enough on your set, Gemini 3.7 Flash at $0.75 in and $3.75 out lands at roughly $4,900 a month — still a quarter of Azure's prebuilt rate.

Four things this arithmetic hides, and you should check all four before you present it.

The output-token assumption is doing the work. Output is 95% of that bill. If your schema produces 1,500 tokens a page rather than 600, the total is $7,700, not $3,155. Measure it on a hundred real documents before you quote a saving.

The upgrade path is scheduled to double — the headline rate is not. Flash-Lite carries no date qualifier on its published rate. The tier you fall back to if it is not accurate enough does: Google's pricing page states that Gemini 3.7 and 3.6 Flash input is "$0.75 through December 31, 2026. $1.50 starting January 1, 2027" and output "$3.75 through December 31, 2026. $7.50 starting January 1, 2027". That turns the $4,900 fallback into roughly $9,800 in January, which makes the accuracy test above a pricing decision as well as a quality one. And an unqualified rate is not a guaranteed one — put a cap in front of it either way, the same trap as any consumption contract without a cap.

There is a free lunch on native-text PDFs, and it is real. Google's documentation states that Gemini 3 models extract native text embedded in PDFs and provide it to the model directly, and that "you are not charged for tokens originating from the extracted native text in PDFs". With 60% of our pages being native-text PDF, the input side of that bill is largely theoretical. It does not change the conclusion because output dominates, but it does mean the OCR-quality argument mostly disappears for digital-origin documents.

You get no bounding boxes and no confidence. Which is the previous section's point, and the reason the honest architecture for most buyers is neither pure incumbent nor pure LLM.

The split that actually wins: Azure Read (or Google Enterprise Document OCR) at $1.50 per 1,000 pages for text and coordinates, feeding a Gemini Flash-class model with your schema for the fields. That is roughly $3,000 for OCR plus $3,400 for extraction — call it $6,400 a month, $3.20 per 1,000 pages — and you keep the bounding boxes you need to show a reviewer where a value came from. Twenty times cheaper than Textract's bundle, with the audit trail intact. At eight times our volume, a 16M-page Read commitment would take the OCR half to $0.45 per 1,000.


Who Should Not Pick Each of These

The most useful column in any comparison is the one vendors never write.

Do not pick Amazon Textract if you process handwriting in any language but English, you needed a managed human-review queue, you are outside AWS, or nobody in your organisation has attached the AI services opt-out policy. Pick it if you are deeply AWS-native, your documents are printed English forms, and you buy AnalyzeExpense or DetectDocumentText rather than the Forms + Tables + Queries bundle.

Do not pick Azure AI Document Intelligence if your documents are genuinely unstructured — contracts, referral letters, doctor's notes — because Microsoft's own guidance routes that work elsewhere, or if your handwriting languages fall outside its twelve. Pick it if you need per-field confidence scores, air-gapped deployment, or a bounded 24-hour retention window you can put in front of a regulator.

Do not pick Google Document AI as an extraction platform. $30 per 1,000 pages buys less than Mistral's $5, its human-in-the-loop product is deprecated, and its region list is the shortest of the three. Pick its Enterprise Document OCR at $1.50 per 1,000 if you are already on Google Cloud and want a cheap, competent text layer.

Do not pick Mistral OCR if you need per-field confidence scores or a US-region contractual commitment. Pick it if you want schema-driven extraction at a fifth of Google's price and your compliance posture is comfortable with a European provider — a question worth working through the same way you would for any non-US model vendor.

Do not pick a general LLM if your straight-through-processing rate is a board-level metric and you have no plan for building a confidence gate, or if your auditor needs to see where on the page a number came from. Pick it if your fields change monthly, your documents are narrative, and you have the engineering capacity to own the evaluation harness — which is a real commitment, and the same one you take on when you build rather than buy a retrieval stack.


What to Do in the Next 30 Days

This week. Pull last month's actual invoice line for whatever you run today and divide by pages processed. Most teams cannot state their real cost per 1,000 pages, and the number is usually worse than the rate card because of retries and multi-pass calls. Then check whether an AWS AI services opt-out policy is attached to your organisation. That is a ten-minute check and it is either fine or it is a live residency problem.

Within two weeks. Assemble 100 pages that represent your actual mess — the phone photos, the marginalia, the fourth-generation photocopies, the one supplier who still faxes. Not the clean sample the vendor demo used. Run them through four options: your incumbent, Azure Read plus a schema prompt, Mistral OCR with annotations, and Flash-Lite direct. Score field-level accuracy, not page-level, and record output tokens per page while you are there — that is the number your LLM business case rests on.

Before you sign anything. Get the straight-through-processing rate on paper for each option, and price the review queue at your loaded cost per correction. A 4-point STP difference on 2M pages a month is thousands of human touches, and it will swamp every API rate on this page. Build the same regression gate you would build for any model change, because you will be swapping models on this pipeline more than once a year now.

Before Q4 close. If your LLM route lands on the Flash tier rather than Flash-Lite, model it at the January 2027 rate as well as today's. Put a spend cap in front of it either way.


The Bottom Line

The document-extraction market spent a decade selling one product — a page goes in, structured JSON comes out — and priced it at whatever the hardest part cost. That bundle has come apart. OCR is now a commodity at $0.45 to $1.50 per 1,000 pages from two vendors who will both sell it to you standalone. Field extraction is a schema and a cheap model. The 40x gap between the bundle and the parts is not a technology gap; it is a pricing structure that outlived the technology that justified it.

The same thing happened to enterprise search, to speech recognition, and to translation. In each case the incumbents kept the enterprise logo, the compliance paperwork and the confidence scores, and lost the margin. Textract, Document Intelligence and Document AI still have things the challengers do not — bounding boxes, calibrated confidence, an air-gapped container, a data-processing addendum your legal team has already read. Those are worth paying for. They are not worth paying 40x for.

Buy the page and the meaning separately. Pay the incumbent for the part you would have to build.

Continue Reading

Share:

Frequently Asked Questions

Is Amazon Textract or Azure AI Document Intelligence cheaper for document extraction?

Azure, by a wide margin, at every comparable tier. Azure's prebuilt invoice model is $10 per 1,000 pages ($7.50 on a 1M-page commitment) against $70 per 1,000 for Textract's Forms + Tables + Queries bundle for the first million pages. Azure's Read OCR meter is $1.50 per 1,000 and falls to $0.45 on a 16M-page commitment. Prices checked 28 August 2026.

Can a general LLM replace Amazon Textract or Azure Document Intelligence?

For unstructured documents, often yes — Google bills PDF pages at 258 tokens each, so Gemini 3.5 Flash-Lite runs about $1.58 per 1,000 pages against Textract's blended $62.50. The catch is that a general LLM returns no per-field confidence score and no bounding boxes, so you either accept every result or review every result unless you build your own confidence gate.

Which document extraction service handles handwriting best?

Amazon Textract reads handwriting only in the standard English alphabet and ASCII symbols. Azure AI Document Intelligence supports handwritten text in twelve languages: English, Chinese Simplified, French, German, Italian, Thai, Japanese, Korean, Portuguese, Spanish, Russian and Arabic. Vision-language models such as Gemini Flash cover a far broader range and have outperformed Textract on handwritten notes in independent testing.

Can I still buy managed human-in-the-loop review for document extraction?

Not from the hyperscalers. Google's Document AI documentation lists Human-in-the-Loop with a deprecated date of January 16, 2024, and AWS states that Amazon SageMaker A2I is no longer open to new customers and will get no new features. Human review is now something you build, which makes calibrated per-field confidence scores the thing you are actually buying.

Does Amazon Textract use my documents to train its models?

By default AWS may store and use Textract inputs to improve the service, and may store that content in an AWS Region outside the one you are calling. Textract is covered by the AWS Organizations AI services opt-out policy, which is off unless someone in your management account attaches it. If you have an EU residency commitment and no opt-out policy attached, that commitment is not currently accurate.

Which document extraction service can run air-gapped or on-premises?

Azure AI Document Intelligence containers. Microsoft's own tool-selection guidance lists on-premises or air-gapped deployment with the recommendation 'DI containers' and the justification 'Only option today'. Disconnected container usage is limited to Document Intelligence custom and invoice models, so check that against your document mix before architecting around it.

Newsletter

Stay Ahead of the Curve

Weekly enterprise AI insights for technology leaders. No spam, no vendor pitches—unsubscribe anytime.

Subscribe

Related Articles

AI gateway

AI Gateway vs API Management: No Managed Gateway Caps Your Spend

Priced against one normalised workload — 5M LLM calls a month across 4 models — Azure API Management runs about $700/month, Kong about $1,400 and Apigee about $3,931. None of the three enforces a hard budget cap.

August 26, 2026
Apple Foundation Models

Apple's On-Device Model Is 99% Sure. Sample It Five Times.

An independent audit of SystemLanguageModel.default — the ~3B on-device model Apple hands developers — found its self-reported confidence separates right from wrong at AUROC 0.47, below a coin flip, while it confabulated on 69.1% of false-premise questions and refused 18.4% of benign summarization requests. A k=5 consistency wrapper fixes it, at 28.2% coverage on factual QA.

August 25, 2026
AI coding agents

Haiku Burned More Tokens Than Sonnet. Spec It in Code.

A controlled 90-trial experiment found Claude Haiku 4.5 spent 735K tokens where Sonnet 4.6 spent 640K, for a result 1.9 points worse. Downgrading a coding agent to a cheap tier saves less than the rate card implies, varies fivefold by vendor, and only holds up if you replace prose design docs with machine-checkable contracts.

August 25, 2026
GPT-5.6 Sol

GPT-5.6 Sol Is $20 Until Nov 21. Budget Both Rates.

OpenAI cut GPT-5.6 Sol to $4/$20 per million tokens but guarantees the rate only "at least through November 21, 2026," with no successor published. The cut was asymmetric, so no two workloads saved the same amount — and the reversion is +50% on output, not +33%.

August 24, 2026

Latest Articles

View All →