olmOCR
Ai2's vision-language OCR that turns PDFs and scans into clean Markdown, including tables, equations and handwriting.
Quick answer
olmOCR is an ai2's vision-language OCR that turns PDFs and scans into clean Markdown, including tables, equations and handwriting, listed under Document processing. A typical small-business use: convert scanned contracts, invoices and reports into Markdown for search or a RAG knowledge base. It needs a GPU server; we do not estimate that cost because GPU prices vary too much by card and provider. License: Apache-2.0, which allows internal business use. Activity is low: the last commit was on Mar 25, 2026.
Last updated · facts verified against official docs on · sources
Activity data comes from GitHub and was last refreshed Nov 3, 2026.
What is olmOCR?
olmOCR is a toolkit from the Allen Institute for AI (Ai2) for converting PDFs, PNG and JPEG documents into clean Markdown in natural reading order. It is built on a 7B vision-language model and handles equations, tables, handwriting, multi-column layouts and figures, and removes headers and footers. It runs batch jobs from the command line on a local NVIDIA GPU via vLLM, in Docker, or against any OpenAI-compatible inference server.
Where it fits in a 10–200 person business
- Convert scanned contracts, invoices and reports into Markdown for search or a RAG knowledge base
- Batch-digitise an archive of PDFs with tables and equations
- Extract text from handwritten forms and multi-column documents
These use cases are our editorial suggestions, not claims made by the project.
Can a business use olmOCR? (license)
| License | Apache-2.0 |
|---|---|
| Type | Permissive: MIT / Apache-2.0: use, modify and sell with few obligations. |
| Internal business use | Allowed under the license text |
| What to watch | Permissive. Internal and commercial use, modification and redistribution allowed; keep the license and notices. |
This is a plain-English summary of the license text, not legal advice. Third-party models you run with it have their own licenses.
Data & compliance: does olmOCR phone home?
| Telemetry (usage data sent to the vendor) | Not documented |
|---|---|
| Other calls home by default (updates, marketplaces, default cloud services) | Not documented |
| Single sign-on (OIDC / SAML / LDAP) | Not documented |
| Audit log | Not documented |
| Role-based access control (RBAC) | Not documented |
| Data residency / GDPR notes from the project | Not documented |
Checked against the project's own docs and repository on . "Not documented" means we could not find the answer in official sources; it does not mean the feature is missing or that no data is sent. Third-party services you connect (model APIs, vector databases, search engines) have their own data policies. Compare all apps.
What hardware does olmOCR need?
| Minimum | 30 GB disk |
|---|---|
| Recommended | Not published |
| GPU | Required for local inference: a recent NVIDIA GPU with at least 12 GB of GPU RAM (tested on RTX 4090, L40S, A100, H100). Without a GPU you can point it at a remote vLLM or OpenAI-compatible server. |
The README lists 30 GB of free disk space for local GPU inference; no CPU or RAM figures are published.
How much does it cost to host olmOCR per month?
Needs a GPU server for practical use. Not estimated, because GPU prices vary too much by card and provider.
How to deploy olmOCR
Method: Docker (GPU image with model included)
docker pull alleninstituteforai/olmocr:latest-with-model
docker run --gpus all \
-v /path/to/pdfs:/input \
-v /path/to/output:/output \
alleninstituteforai/olmocr:latest-with-model \
-c "olmocr /output --markdown --pdfs /input/*.pdf" From the official instructions: github.com/allenai/olmocr#using-docker. Always check the source for the current version before you run it.
Known gotchas when self-hosting olmOCR
- The image that includes the model is about 30 GB; a smaller base image without the model is available if you manage model downloads yourself. source
- The Python requirements are hard to install into an existing environment; the project asks for a clean Conda environment (Python 3.11). source
- Using an external provider with --server sends your document pages to that provider; keep inference on your own GPU or vLLM server for private documents. source
Alternatives in Document processing
- PaddleOCR OCR toolkit and document AI engine that turns scans, images and PDFs into LLM-ready text, Markdown or JSON. Compare olmOCR vs PaddleOCR
- MinerU Document parser that converts PDFs, scans and Office files into clean Markdown or JSON for LLMs and RAG. Compare MinerU vs olmOCR
- Paperless-ngx Document management system that OCRs scans into a searchable archive, auto-tags them and adds optional LLM suggestions and chat. Compare olmOCR vs Paperless-ngx
- OCRmyPDF Command-line tool and Docker image that adds a searchable OCR text layer to scanned PDFs, with a watched-folder service. Compare OCRmyPDF vs olmOCR
- Unstract No-code LLM platform that turns invoices, forms and other documents into structured JSON. Compare olmOCR vs Unstract
- Paperless-AI AI auto-tagging and document chat for Paperless-ngx (currently unmaintained). Compare olmOCR vs Paperless-AI
- paperless-gpt LLM add-on for paperless-ngx that does better OCR and writes titles, tags and correspondents. Compare olmOCR vs paperless-gpt
- Docling Serve Docling document conversion (PDF, Office, images to Markdown/JSON) as a self-hosted API with a demo UI. Compare Docling Serve vs olmOCR
olmOCR FAQ
How much RAM does olmOCR need?
olmOCR does not publish an official RAM figure, so we do not state one. The README lists 30 GB of free disk space for local GPU inference; no CPU or RAM figures are published.
Does olmOCR need a GPU?
For practical use, yes. Required for local inference: a recent NVIDIA GPU with at least 12 GB of GPU RAM (tested on RTX 4090, L40S, A100, H100). Without a GPU you can point it at a remote vLLM or OpenAI-compatible server.
How much does it cost to self-host olmOCR?
The software is free to download. It needs a GPU server; we do not estimate that cost because GPU prices vary too much by card and provider.
Is olmOCR free for commercial use?
olmOCR is licensed under Apache-2.0 (Permissive). Internal business use is allowed under the license text. Permissive. Internal and commercial use, modification and redistribution allowed; keep the license and notices. This is a summary, not legal advice.
What are common problems when self-hosting olmOCR?
The image that includes the model is about 30 GB; a smaller base image without the model is available if you manage model downloads yourself. The Python requirements are hard to install into an existing environment; the project asks for a clean Conda environment (Python 3.11). Using an external provider with --server sends your document pages to that provider; keep inference on your own GPU or vLLM server for private documents.
Is olmOCR still maintained?
Activity is low (no commit in 180+ days). Last commit: Mar 25, 2026. Latest release: v0.4.27 (Mar 12, 2026). Checked Nov 3, 2026.
How do I install olmOCR?
The official method is Docker (GPU image with model included). The exact commands are in the "How to deploy" section above and in the official instructions: https://github.com/allenai/olmocr#using-docker
What are self-hosted alternatives to olmOCR?
Other apps in Document processing: PaddleOCR, MinerU, Paperless-ngx, OCRmyPDF, Unstract, Paperless-AI, paperless-gpt, Docling Serve.
Sources
- GitHub repository: github.com/allenai/olmocr
- Official documentation: github.com/allenai/olmocr#readme
- License text: github.com/allenai/olmocr/blob/main/LICENSE
- Hardware requirements, Gotcha 2: github.com/allenai/olmocr#python-installation
- Deploy instructions, Gotcha 1: github.com/allenai/olmocr#using-docker
- Gotcha 3: github.com/allenai/olmocr#using-an-inference-provider-or-external-server
- Hetzner Cloud pricing (cost estimate): www.hetzner.com/cloud/regular-performance
- GitHub stars, commits and releases: GitHub REST API, fetched
Facts on this page were checked against the project's own repository and docs on 2026-11-03. Spotted something out of date? Tell us.