Software by Adrien Le Falher
CleanOCR

Old books in.
Clean text out.

Turn scanned books and PDFs into text you can actually trust. Run OCR locally, compare every page with the original, review AI-assisted corrections, and export a clean PDF.

  • Free & open source
  • Local by default
  • No account or telemetry
CleanOCR Viewer showing an original 1890 French book scan beside its OCR text
Original scan and rendered OCR, page by page.

A complete, auditable workflow

From dusty scan to usable edition—without losing the source.

01

Add a PDF

Put a scan in the input folder and choose a page range.

02

Run OCR

Start with marker or compare several engines on the same pages.

03

Review

Check every proposed correction against the original scan.

04

Export

Keep the Markdown or typeset a clean, searchable PDF.

Viewer

The page is the ground truth.

OCR output can look plausible while quietly dropping a line, merging a formula, or misreading an old-style digit. CleanOCR keeps the scan beside the rendered Markdown so you can judge the text against what is actually on the page.

  • Navigate completed runs page by page
  • Test a short range before processing the full book
  • Export reviewed or untouched OCR as a typeset PDF
Side-by-side CleanOCR viewer with the scanned book page on the left and OCR Markdown on the right
01 Compare the source and OCR without switching windows.

Review

Let the model suggest.
You make the call.

A local vision model checks one page at a time against its scan. See the current text, the proposal, and a word-level diff; then accept it, keep the original, edit it yourself, or ask for another pass.

CleanOCR Review tab with a source scan, correction diff, page status, and accept or reject controls
02 Every accepted, rejected, and edited page remains traceable.

The scan stays in sight

Read the original page and rendered OCR side by side instead of judging extracted text in isolation.

Every decision is resumable

Accept, reject, edit, or retry one page at a time. Close the app and continue later without losing review state.

The raw OCR is never overwritten

Cleanups live beside the original output, so you can audit changes or export the untouched result whenever you need it.

Local-first

Your book should not have to become someone else’s data.

CleanOCR runs on your computer. Marker and optional Ollama models stay local, and the app has no accounts or telemetry. The only exception is Mistral OCR: it is clearly labelled, optional, and sends pages to Mistral only when you select it.

Models & benchmark

Choose an OCR engine with evidence.

Run the same pages through different engines, line their output up, and highlight the differences. Then measure a full run against a reference transcription—or another run—with character error rate, word error rate, and similarity.

markermarker + local LLMDeepSeek-OCRdoclingTesseractqwen3.5 directMistral OCR
CleanOCR Models tab comparing Tesseract and marker plus local LLM output against the original scan
03 Compare engines on the pages that matter before committing to a full book.

Measure, do not just eyeball

Compare a run with a transcription or another engine using CER, WER, similarity, and an inline word diff.

Plain files, clear ownership

Inputs, Markdown, images, logs, review states, and exports stay in ordinary folders inside the project.

A book-ready PDF at the end

Export justified text with hyphenation, tables, inline images, page numbers, and a heading-based outline.

Install CleanOCR

Your first ten pages are the best place to start.

Download the project, run the installer for your computer, then open the included 1890 French manual. A short marker run shows the whole workflow before you commit hours to a full book.

macOS

Apple Silicon uses the GPU automatically.

  1. Download and unzip CleanOCR.
  2. Open Terminal in the project folder.
  3. Run these two commands:
./install.sh
./start.sh

Windows

NVIDIA GPU when available, otherwise CPU.

  1. Download and unzip CleanOCR.
  2. Open PowerShell in the project folder.
  3. Run the installer, then open start.cmd.
powershell -ExecutionPolicy Bypass \
  -File install.ps1
~10 GB

Disk space for the environment and marker models.

Optional

Ollama and a vision model for AI-assisted review.

~24 GB

RAM or VRAM recommended for the default qwen3.5:27b model.

The installer names every optional download and its size before it starts. Linux users can follow the manual installation in the README.

Questions, answered

Before you scan the whole shelf.

CleanOCR is a practical, local tool—not a hosted OCR service. Here are the tradeoffs to know up front.

Does CleanOCR upload my books or scans?

No by default. CleanOCR, marker, the review workflow, and optional Ollama models run on your machine. Only the optional Mistral OCR engine sends page images to Mistral when you configure and select it.

Do I need a GPU?

No. CPU processing works, but a full book can be slow. Marker uses Apple Silicon GPUs on macOS and an NVIDIA GPU on Windows when one is available, so testing a short page range first is a good idea.

Is CleanOCR only for French books?

No. The OCR engines can handle other material, but the correction prompts and running-header detection were tuned on the included 1890 French printing manual. Review auto-accepted pages carefully on a different kind of book.

Can the AI change text without my approval?

Small, text-only fixes may be auto-accepted, but they remain visible and auditable. Larger proposals wait for you, and the original OCR output is never modified.

Which operating systems are supported?

There are guided installers for macOS and Windows. Linux also works through the manual installation described in the README.

What does CleanOCR export?

Each run produces Markdown and extracted images. You can also export a clean A4 PDF; if a reviewed cleanup exists, the PDF uses that text, while the raw OCR remains available.

CleanOCR

Make the scan readable.
Keep the work yours.

Local OCR for old books, difficult pages, and people who want to check the result.

MIT licensed · macOS, Windows & Linux · No account required