The powerful, fast & free book scanner

Give your books
the digital life
they deserve.

From your phone camera to a curated, searchable PDF At your desk, in the library, or wherever you are. No flatbed, no bulky rig: just you and your phone.

FREE No paywall
no in-app purchase
no subscription

The Aglaïa point-and-shoot capture screen on iPhone
Point & shoot capture
Use a remote, your voice, or let Aglaïa do it for you
A page photographed under uneven light — grey and skewed.
The same page after Aglaïa — flat, clean, deskewed.
before after
Fully automatic processing
Drag slider to compare
Searchable Markdown export on iPhone
Searchable Markdown & PDF
Apple OCR or Mistral OCR (API key)
Tip the developer

You can use your computer if you prefer

Linux NVIDIA users get a ready-to-run CUDA AppImage. On Windows, CUDA acceleration is available only via CLI install on WSL2.

The macOS · Windows · Linux desktop app is free & source-available. The iOS app is free too, but closed-source.

You don't have to settle
for crufty book photos.

You don't have to endure endless flatbed scanning sessions either.

Curved pages, skew, perspective, uneven illumination,
and dozens of issues that make you go « eewww… » when you look at your documents.
Aglaïa turns the camera and the laptop you already have into a proper scanner.
All automatic. Fully customizable.

3 scanning challenges,
1 standard pipeline to rule them all…

The following examples were all run with default settings. No fiddling needed.

A book spread photographed at a desk under overhead light.
The same spread after Aglaïa: two flat, deskewed, dewarped pages.
before after
Easy mode 😁 at a desk with overhead lights
A book spread under uneven light — one page in shadow, the other bright.
The same spread after Aglaïa: even, clean, binarized text edge to edge.
before after
Medium mode 🤨 on a library chair, uneven illumination
A thick book whose pages curl steeply into the spine.
The same spread after Aglaïa: the curl flattened, baselines straight.
before after
Hard mode 😭 thick book, extreme page curl

A powerful pipeline architecture

Whether you're scanning books, spiral-bound reports, or loose sheets of paper, there's a specially curated pipeline for you.

Capture / Import

Point your phone or webcam at the page and shoot — hands-free with voice control, no flatbed, no app-switching. Already have files? Import your PDFs and images straight in.

Process

Isolate the text content, straighten it, and remove perspective and page-curvature distortion. Make your text pop with advanced binarization techniques.

Read

Fast and coarse or slow and precise; local (Apple Vision, Surya, PaddleOCR-VL) or cloud-based (Mistral OCR) — use the OCR that suits your project.

Export

A clean, searchable PDF for your digital archives or printouts? A well-structured Markdown file to feed your favorite LLM workflows? Aglaïa gives you what you need.

Scan anywhere with the continuity camera

Put your phone on your desk, your book on a chair, et voilà !

With a typical capacity of more than 1 page per second and a sub-2 seconds latency per scan, you may not turn the pages fast enough to overwhelm Aglaïa.

Overhead diagram: a person at a laptop, an iPhone on a stand acting as the camera, pointed at an open book propped on a chair.

Take full advantage of your computing power

Aglaïa uses the latest GPU acceleration where it matters. Automatic batching delivers 2.5× speed on NVIDIA GPUs.

  • Apple MacBook M4 base (4 P-cores) · MLX (JAX/Metal) 1.0 p/s
  • AMD Ryzen 9 7900X · JAX/CPU 1.4 p/s
  • AMD Ryzen 9 7900X + NVIDIA RTX 3090 · Batched JAX/CUDA 3.4 p/s

headless mode · 175 scans of a 2-pages/scan book

How much resolution do you want? — Yes!

Smart replay — no iterative distortion.

Deskew, keystone correction and dewarp each resample the image. Chain them naïvely and every pass softens and warps the pixels a little more — glyph edges crumble.

Aglaïa keeps track of the operations and at the end composes the perfect blend of geometric and morphological transforms to give you the sharpest result.

Text glyphs degraded and jagged from repeated per-step resampling.
Sequential processing
The same glyphs, crisp and clean, from a single replayed warp.
Smart replay

Simple, but not simplistic

Unleash the computer-vision and data-science nerd within you.

Full CLI automation

Run the end-to-end pipeline from the command line.

Versatile plugin system

The task at hand gets specific? Build your own processing elements in Python.

Freedom to choose

Have a favorite OCR provider? Need to export to cloud storage? Write your own adapters.

Install from the command line

GUI builds: macOS .dmg · Windows installer · Linux AppImage (above). For a CLI-only or scripted setup, use uv or pip on any platform.

# macOS, Apple Silicon
brew tap yb85/aglaia https://github.com/yb85/aglaia
brew trust yb85/aglaia              # Homebrew 6.x: trust the third-party tap

brew install --cask aglaia          # the GUI app (notarized DMG) — recommended
# or, run from a terminal instead of a .app double-click:
brew install aglaia-cli             # same full app, launched via `aglaia …`
brew install aglaia-cli --without-gui   # lighter: CLI-only, no Qt/GUI

aglaia ~/scans/my-book
# build from source with the extras you want
git clone https://github.com/yb85/aglaia.git && cd aglaia

uv sync --extra gui --extra macos   # macOS GUI: Vision, Speech, MLX dewarp
uv sync --extra gui                 # Windows / Linux GUI (Qt only)
uv sync                             # headless: CLI pipeline, no Qt
# add any of:
#   --extra macos    # Apple-Silicon local VLM OCR (GLM / Unlimited / Surya, MLX)
#   --extra cuda     # NVIDIA local VLM OCR (vLLM) + GPU dewarp
#   --extra voice    # offline voice control (Vosk, cross-platform)
#   --extra cloud    # Mistral cloud OCR
#   --extra cuda     # NVIDIA GPU dewarp (Linux)
#   --extra server   # HTTP job API (`aglaia server`)

uv run aglaia ~/scans/my-book       # GUI; `aglaia run …` to batch headlessly
# from PyPI — installs the `aglaia` command
pip install aglaia                  # lean base: headless pipeline, no Qt
pip install "aglaia[gui]"           # Windows / Linux GUI (Qt)
pip install "aglaia[gui,macos]"     # macOS GUI: Vision, Speech, MLX dewarp

# Local VLM OCR (GLM / Unlimited / Surya) rides the platform backend:
#   pip install "aglaia[macos]"     # Apple Silicon (MLX)
#   pip install "aglaia[cuda]"      # NVIDIA (vLLM)
# Apple Vision OCR needs no extra — it ships with [macos].
# pip install "aglaia[server]"      # HTTP job API (`aglaia server`)

aglaia ~/scans/my-book              # opens the GUI
aglaia run ~/scans/*.jpg            # headless batch

Compared to a commercial scanner with curve removal

Commercial solution Aglaïa
Curve removal
Purpose Facsimile Pure text
Fully automatic Depends on the model
Hardware Specialized rig Mobile phone + laptop
Portability
Price ≥ $330 Free, voluntary donation
Speed 40 pages/min 100–200 pages/min (with GPU)
Extendable? Closed source / proprietary Desktop source-available*

* The desktop app (macOS · Windows · Linux) is source-available: personal modifications and contributions welcome; competitive redistribution (SaaS, repackaging) prohibited.

Digitize your shelf.

Free — and the desktop app is source-available*, yours to extend.

Linux NVIDIA users get a ready-to-run CUDA AppImage. On Windows, CUDA acceleration is available only via CLI install on WSL2.

* PolyForm Shield License 1.0.0