# Olmocr License: Apache 2.0 Terms and Usage Rights Explained

> Understand the Olmocr License Apache 2.0 Use this powerful OCR tool for commercial projects. Learn about modification, redistribution, and usage rights for allenai/olmocr.

- Repository: [Ai2/olmocr](https://github.com/allenai/olmocr)
- Tags: getting-started
- Published: 2026-07-08

---

**The olmocr codebase is released under the Apache License 2.0, a permissive open-source license that allows commercial use, modification, and redistribution provided you retain the original copyright notice and include a copy of the license text.**

The olmocr repository by Allen AI provides a modular OCR pipeline framework designed for large-scale scientific document processing. Understanding the specific olmocr licensing terms ensures you remain compliant when integrating this toolkit into production workflows, research projects, or derivative applications.

## Apache License 2.0 Permissions and Requirements

The `LICENSE` file located at the repository root contains the full Apache License, Version 2.0 text. This permissive license framework grants you specific rights while imposing minimal restrictions.

### What You Can Do

Under the Apache 2.0 license governing olmocr, you are permitted to:

- **Use** the software for any purpose, including commercial applications
- **Modify** the source code and create derivative works
- **Redistribute** the original or modified versions
- **Sublicense** the code under different terms

### Attribution Requirements

When distributing olmocr or derivative works, you must:

- Include a copy of the Apache License 2.0
- Preserve copyright notices found in the original source files
- State any significant changes made to the codebase

## Repository Structure and Licensed Components

The olmocr license applies to all source files in the repository, including the pipeline orchestration, training modules, and utility functions.

### Core Pipeline Components

The main orchestration logic resides in [`olmocr/pipeline.py`](https://github.com/allenai/olmocr/blob/main/olmocr/pipeline.py), which defines the end-to-end flow from raw PDF loading through OCR processing to output generation. This file, like all others in the repository, falls under the Apache 2.0 license terms.

### Data and Training Modules

Training and data preparation utilities are located in:

- [`olmocr/data/prepare_olmocrmix.py`](https://github.com/allenai/olmocr/blob/main/olmocr/data/prepare_olmocrmix.py) – Training data preparation helpers
- [`olmocr/data/renderpdf.py`](https://github.com/allenai/olmocr/blob/main/olmocr/data/renderpdf.py) – PDF rendering utilities
- [`olmocr/train/train.py`](https://github.com/allenai/olmocr/blob/main/olmocr/train/train.py) – Primary training entry point
- [`olmocr/train/grpo_train.py`](https://github.com/allenai/olmocr/blob/main/olmocr/train/grpo_train.py) – GRPO training implementation

### Evaluation and Post-Processing

Benchmark and filtering components include:

- [`olmocr/bench/table_parsing.py`](https://github.com/allenai/olmocr/blob/main/olmocr/bench/table_parsing.py) – Table parsing benchmark utilities
- [`olmocr/bench/report.py`](https://github.com/allenai/olmocr/blob/main/olmocr/bench/report.py) – Evaluation report generation
- [`olmocr/filter/filter.py`](https://github.com/allenai/olmocr/blob/main/olmocr/filter/filter.py) – Noise filtering and output cleanup
- [`olmocr/filter/coherency.py`](https://github.com/allenai/olmocr/blob/main/olmocr/filter/coherency.py) – Coherency checking algorithms

### Supporting Utilities

Additional licensed files include [`olmocr/s3_utils.py`](https://github.com/allenai/olmocr/blob/main/olmocr/s3_utils.py) for Amazon S3 operations and [`olmocr/version.py`](https://github.com/allenai/olmocr/blob/main/olmocr/version.py) for version metadata management.

## Practical Code Examples

The following examples demonstrate typical usage patterns of the licensed codebase.

### Check Library Version

```python
from olmocr.version import __version__

print(f"OLM-OCR version: {__version__}")

```

### Run OCR Pipeline

```python
from olmocr.pipeline import run_pipeline

result = run_pipeline(pdf_path="sample.pdf", output_dir="out")
print("Extracted text:", result["text"][:200])

```

### Build Training Batch

```python
from olmocr.data.build_openai_batch_from_olmocrmix import build_batch

batch = build_batch(
    pdf_dir="data/pdfs",
    model="gpt-4o-mini",
    max_tokens=2048,
)
print(f"Created batch with {len(batch)} entries")

```

### Evaluate OCR Accuracy

```python
from olmocr.bench.report import generate_report

report = generate_report(
    predictions_dir="preds",
    ground_truth_dir="gt",
    metrics=["rouge", "wer", "bleu"],
)
print(report.summary())

```

## Summary

- **Olmocr uses Apache License 2.0**, a permissive open-source license found in the repository's `LICENSE` file
- **Commercial use is permitted** without requiring payment or additional permissions
- **Modification and redistribution allowed** provided you include the license and copyright notices
- **All source files are covered**, including pipeline, training, bench, and filter modules
- **Patent rights are explicitly granted** to users by contributors

## Frequently Asked Questions

### Is olmocr free for commercial use?

Yes. The Apache License 2.0 explicitly permits commercial use, including integrating olmocr into proprietary applications or using it to process documents for commercial purposes. You do not need to pay royalties or obtain additional permissions from Allen AI.

### Do I need to open-source my modifications to olmocr?

No. Unlike copyleft licenses, Apache 2.0 does not require you to distribute your modifications or derivative works under the same license. You can modify the code for private use or distribute your changes under different terms, provided you include the original Apache license and copyright notices.

### Where can I find the complete license text?

The full Apache License 2.0 text is located in the `LICENSE` file at the repository root. This file contains the exact legal wording and copyright attribution required for compliance. You should include this file verbatim when redistributing the olmocr source code.

### Does the olmocr license cover pre-trained model weights?

The license analysis applies to the codebase in the Allen AI repository. While the Apache 2.0 license typically covers code and documentation, you should verify the specific licensing terms for any pre-trained model weights or datasets separately, as these may have different usage restrictions.