The model is free. The GPU is $587.50 a month and bills every hour whether you send it a page or not. Here is the arithmetic nobody publishes: the real dollars per 1,000 pages at every volume, and the point where running your own OCR finally beats paying per page.
Upload a document to extract
Drop files here or click to upload
Up to 50 files
Uploading...
Before you cost out a GPU, check what the fields look like on your own documents. Drop one in and compare the output.
Self hosted OCR costs whatever the GPU costs, divided by the pages you actually run through it. The cheapest sensible box on AWS, a g6.xlarge with one NVIDIA L4, is $0.8048 an hour, which is $587.50 a month running continuously. At 10,000 pages a month that is $58.75 per 1,000 pages, roughly 39 times what AWS Textract, Azure Read or Google Enterprise Document OCR charge. At 500,000 pages a month it is $1.18 per 1,000 pages, about 21 percent below them. Break-even sits at about 391,700 pages a month, and that is before anyone is paid to run the thing. The free model is not the saving; sustained volume is.
That framing matters because the number most often quoted comes from the olmOCR paper, which reports converting a million PDF pages for $176. The figure is real and it is from the project's own research paper, but it describes a fully saturated GPU fleet doing nothing else, priced at rented capacity rates well below AWS on-demand. Reprice the identical throughput at AWS on-demand H100 rates and it becomes roughly $450 per million pages. Run it on a box that sits idle most of the day and the number stops resembling either one.
On-demand Linux rates in US East (N. Virginia), read from Amazon's own pricing feed on July 22, 2026. Monthly figures assume the instance runs continuously, 730 hours. The last column is the volume at which that monthly bill equals what a $1.50 per 1,000 pages cloud OCR API would have charged.
| Instance | GPU | VRAM | Per hour | Per GPU-hour | Per month | Break-even pages a month |
|---|---|---|---|---|---|---|
| g6.xlarge | 1x NVIDIA L4 | 24 GB | $0.8048 | $0.8048 | $587.50 | 391,700 |
| g5.xlarge | 1x NVIDIA A10G | 24 GB | $1.0060 | $1.0060 | $734.38 | 489,600 |
| g6e.xlarge | 1x NVIDIA L40S | 48 GB | $1.8610 | $1.8610 | $1,358.53 | 905,700 |
| g6e.12xlarge | 4x NVIDIA L40S | 192 GB | $10.4926 | $2.6232 | $7,659.63 | 5,106,400 |
| p4d.24xlarge | 8x NVIDIA A100 | 320 GB | $21.9576 | $2.7447 | $16,028.58 | 10,685,700 |
| p5.4xlarge | 1x NVIDIA H100 | 80 GB | $6.8800 | $6.8800 | $5,022.40 | 3,348,300 |
| p5.48xlarge | 8x NVIDIA H100 | 640 GB | $55.0400 | $6.8800 | $40,179.20 | 26,786,100 |
Two things fall out of this table. The first is that the expensive cards are the wrong place to start: an H100 box has to clear 3.35 million pages a month before it saves anything, and most document workloads never get near that. The second is that VRAM is rarely the constraint. olmOCR asks for 12 GB and most 1B to 3B document models fit in 8 GB at half precision, so a 24 GB L4 runs them comfortably. The bigger cards buy throughput, and throughput only matters once volume is already high enough for the whole idea to make sense.
A per-page API and a GPU bill in opposite directions. The API charges for work done and nothing for a quiet Tuesday. The GPU charges for time held, and a rented instance holds time continuously unless somebody builds the automation to stop and start it. Every cost comparison that ignores this produces a number that is wrong by an order of magnitude at normal volumes.
The table on the right prices one g6.xlarge at $587.50 a month against real throughput. Read it as the answer to a single question: how many pages do you genuinely process, every month, without fail? Not the peak month. Not the projection. The floor.
Worth quoting: at 10,000 pages a month, a self-hosted open model on the cheapest AWS GPU costs about $58.75 per 1,000 pages. The same pages on Textract, Azure Read or Google Enterprise Document OCR cost $15.00 total. The free model is 39 times more expensive.
| Pages a month | Effective per 1,000 | Against a $1.50 API |
|---|---|---|
| 10,000 | $58.75 | 39x more than a cloud API |
| 25,000 | $23.50 | 15.7x more |
| 50,000 | $11.75 | 7.8x more |
| 100,000 | $5.88 | 3.9x more |
| 250,000 | $2.35 | 1.6x more |
| 391,700 | $1.50 | break-even |
| 500,000 | $1.18 | 21% less |
| 1,000,000 | $0.59 | 61% less |
The olmOCR paper states a million PDF pages for $176, which is $0.176 per 1,000 pages, against over $6,240 per million for GPT-4o. The project README puts it as under $200 per million. Both figures describe a saturated GPU fleet running a 7B vision model at batch, on rented capacity priced well under hyperscaler on-demand rates.
Those two published numbers imply a throughput you can work backwards to. At the roughly $2.69 per H100-hour the figure is built on, $176 per million pages is about 65 GPU-hours per million pages, or roughly 15,300 pages per H100-hour. Hold that throughput and change only the price of the hardware: AWS charges $6.88 per H100-hour on demand, so the identical work costs about $450 per million pages, or $0.45 per 1,000. Both numbers assume the fleet never sits idle.
$176
per million pages
The published olmOCR figure, on rented GPU capacity at full saturation.
$450
per million pages
The same throughput repriced at AWS on-demand H100 rates of $6.88 per GPU-hour.
$840
per million pages
GPT-5.4-nano through the OpenAI Batch API, for comparison, at list rates.
When the olmOCR paper was published, the comparison it drew was $176 per million pages against $6,240 for GPT-4o, a 35 times gap. That gap was the entire argument for building. It has since closed almost entirely from the other side: GPT-5.4-nano through the Batch API works out to about $840 per million pages, so the difference is now about 4.8 times on rented GPUs and about 1.9 times if you price the hardware at AWS on-demand. A two-times saving does not usually survive contact with an engineering salary. Anyone still citing the 35x number is quoting a market that no longer exists.
One honest gap in this page: olmOCR is the only open document model that publishes a cost figure precise enough to reverse into throughput. Pages-per-minute claims circulate for PaddleOCR-VL, dots.ocr, DeepSeek-OCR and Granite-Docling, but they come from GPU vendor benchmarks that disagree with each other and cannot be reproduced from a primary source, so there is no table of them here. If you are choosing between those models, measure throughput on your own documents on the card you intend to rent. It is a two-day exercise and it is the only number that will hold.
Cheapest first. The self-hosted rows are the same GPU at different utilization, which is why they appear at both ends of the table.
| Option | Billed in | Per 1,000 pages | What you have to build |
|---|---|---|---|
| olmOCR on rented GPUs (paper figure) | GPU-hours | $0.18 | The whole stack, at full saturation |
| olmOCR at AWS on-demand H100 rates | GPU-hours | $0.45 | The whole stack, at full saturation |
| GPT-5.4-nano through the Batch API | Tokens | $0.84 | Prompting and retries |
| Azure AI Document Intelligence Read (commitment tier) | Pages | $0.45 | Nothing, it is managed |
| Azure Content Understanding, Basic | Pages | $1.00 | Nothing, it is managed |
| AWS Textract Detect Document Text | Pages | $1.50 | Nothing, it is managed |
| Azure AI Document Intelligence Read | Pages | $1.50 | Nothing, it is managed |
| Google Enterprise Document OCR | Pages | $1.50 | Nothing, it is managed |
| GPT-5.4-nano at list price | Tokens | $1.67 | Prompting and retries |
| Mistral OCR 4 | Pages | $4.00 | Nothing, it is managed |
| A self-hosted L4 at 50,000 pages a month | GPU-hours | $11.75 | The whole stack, mostly idle |
| DocuOCR | Pages | $14 to $20 | Nothing, the workflow is included |
| A self-hosted L4 at 10,000 pages a month | GPU-hours | $58.75 | The whole stack, almost entirely idle |
Read the last column before the third. Two rows can share a price and mean entirely different things: $1.50 on Textract buys text and bounding boxes with no work attached, while $1.18 on your own L4 buys the same text plus an inference server, a retry policy, a confidence model and an on-call rotation. The cross-vendor detail behind these figures lives on the OCR pricing per 1,000 pages reference, and the language-model rows are worked out in full on the LLM OCR pricing pillar.
A GPU instance bills 730 hours a month whether it reads a page or not. A per-page API bills zero on a quiet week. This single difference is what moves the break-even into the hundreds of thousands of pages.
Document VLMs skip pages, loop on dense tables and occasionally refuse. Every retry is billed GPU time you already paid for and latency you now have to design around, so real throughput sits well below the benchmark figure.
Cloud OCR returns a per-field confidence value you can route on. Open models return text. Building the scoring, the thresholds and the review queue that turns raw output into a trustworthy workflow is the largest hidden line item.
Someone keeps vLLM or SGLang patched, sizes the batch, watches the queue, handles the OOM at 2am and repeats the evaluation every time a better model ships. That salary is not on the GPU invoice and usually exceeds it.
Self hosting removes the vendor from the data path and hands you the audit. Encryption at rest, key rotation, access logging, retention and the evidence a SOC 2 auditor asks for all become yours to produce.
Six credible open document models shipped in a single quarter in late 2025. Staying near the accuracy frontier means re-benchmarking, re-tuning prompts and re-validating output on a cadence that does not stop.
Where DocuOCR lands on this scale is worth stating plainly. It runs about $14 to $20 per 1,000 pages depending on plan, which is more than a raw cloud OCR call and more than a saturated GPU. What that covers is everything in the right-hand column: classification, field-level extraction with confidence, validation rules, a human review queue for the pages that fail them, and export. If your comparison is against a raw text API you should expect us to cost more per page. If your comparison is against the six months it takes to build the workflow around one, the arithmetic usually goes the other way. Teams with a hard data residency requirement should look at on premise OCR software instead, where the deployment model, not the page rate, is the decision.
Upload a real document, look at the fields and the confidence scores, and then decide whether the pipeline is worth building. It takes about a minute.
olmOCR pricing
What the best-known open model really costs
On premise OCR software
When documents cannot leave your network
OCR pricing per 1,000 pages
Every vendor, one rate table
LLM OCR pricing
Every language model, converted to pages
DeepSeek OCR pricing
The other open model, costed out
OCR API pricing comparison
The buyer view across the market
From the same family of tools