Transcribe
Handwritten notebooks → text you keep.
Import page photos or PDFs. Read them with a vision model that runs on your computer. Correct the text beside the scan. Optionally look at themes, mood, and people — then export Markdown, HTML, or a notebook file you keep. No cloud OCR service.
The application
Library and Search over your notebooks. Workflow for import, transcribe, review, analyse, and export. View for reading and results.
Import
Bring JPEG, PNG, or PDF pages into a notebook on your machine. Optional visual declutter crops scanner beds and gutters.
Transcribe
Run a local Ollama vision model. Compare two models on the same pages when you want a second reading.
Review
Correct the text beside the scan. Keep your edits separate from the raw OCR.
Analyse & export
Themes, mood, people and places — then export Markdown, HTML, EPUB, PDF, or a portable notebook file.
What can I do with it?
- Turn scans into editable text
- Correct a page beside the original image
- Find themes, mood, people, and places in a notebook
- Spot poetry, lists, names, and other patterns
- Export a notebook you can keep (Markdown, HTML, EPUB, PDF)
Walkthrough: user guide. Not sure if this is the right tool? What Transcribe is.
On your machine
Page images and results stay on disk you control. OCR and optional text analysis use a local Ollama server — nothing here is a hosted OCR or analysis service. Non-local Ollama hosts require an explicit acknowledgement because images would leave the machine.
From a scan to a readable notebook
- Open Workflow → New notebook and import JPEG, PNG, or PDF pages.
- Open Workflow → Transcribe, pick an OCR-friendly vision model, and start.
- Open Workflow → Review and correct the text beside the scan.
- Optionally open Workflow → Analyse, keep Balanced, and read View → Overview.
Install
Docker is the recommended path (no host Python packages). You also need a running Ollama server on the host and an OCR-friendly vision model.
git clone https://github.com/glen-w/transcribe.git
cd transcribe
cp .env.example .env # set HOST_PROJECTS_DIR outside the repo
docker compose up --build transcribe-web
Open http://localhost:8510.
Advanced — native on the host (Python 3.10+):
./transcribe.sh setup then
./transcribe.sh ui.
Details: Installation · Docker · README