The Autodidacts

Exploring the universe from the inside out

PSA: local AI handwriting recognition is usable now

To my delight and surprise, local Qwen3-VL:8b WER is acceptable, even on my cryptic handwriting

Note: this post is part of #100DaysToOffload, a challenge to publish 100 posts in 365 days. These posts are generally shorter and less polished than our normal posts; expect typos and unfiltered thoughts! View more posts in this series.

I recently wrote about using local LLMs (aka “AI”) for OCR of typewritten manuscripts. A few days later, I tried the same set-up with an essay that I’d written in the middle of the night, and was stunned at how good the results were.

Specifically, the first draft of my essay on Sonder, which was written “almost in a frenzy”, as Dostoyevsky might say, while half asleep, following the technique described in my essay on productive insomnia. Since I had no plans to run OCR on it, or show the draft to anyone, I was optimizing for speed, not legibility.

My handwriting is … not renowned for its legibility. I write quite a bit, and tend toward fast and sloppy. I have hoped that eventually an OCR would be able to process my handwriting, but until now, nothing was even close.

Using the same command and prompt as I used for typewritten documents, the word error rate was far worse than typewritten, but definitely worthwhile. As before, I was processing JPG files scanned at 600dpi. It took ~20–30 mins to process 4 pages. I later tried it on another essay, with deepseek-ocr, and processing time was much faster, and accuracy seemed relatively equivalent.

Qwen3-VL has a bad habit of including its thinking in the output even when it’s not supposed to. It even had the gall to correct “michael effect” to “Matthew effect”. (It was right, of course; I suspected I had mis-remembered the name, and would have caught it in fact checking.) This crossed a line: I don’t want OCR editing my text, even if it makes it better! This was especially offensive because the handwritten text it was correcting without my consent was my forthcoming essay, Underrated reasons to dislike AI, and non-determinism featured prominently.

I ran it again, using Boris Smus’s prompt to keep Qwen on the rails:

time ls **.jpg | sort -n | xargs -I{} ollama run qwen3-vl --hidethinking "./{}\n$(cat path/to/dotfiles/prompts/qwen-handwriting-ocr.txt)" >> output.txt

The quality regressed a tad in other ways (Tesseract became Tessera), but this got Qwen to stop talking to itself and correcting me. I could bask in my typos.

Claude Opus is, of course, better. But if you want your writing to stay on your device, local vision models can now OCR handwriting decently well on consumer hardware. And Qwen3-VL:8B is currently the top open-weights model on the OCR Arena leaderboard.

Sign up for updates

Join the newsletter for curious and thoughtful people.
No Thanks

Great! Check your inbox and click the link to confirm your subscription.