License plate recognition with hot-swappable models
Built to let you swap out the plate detector and OCR engine without trashing the rest of the pipeline.

What it does
FastALPR is a Python framework that finds license plates in images and reads the characters. By default, it pairs a YOLOv9 plate detector from the author’s open-image-models repo with an OCR model from fast-plate-ocr, both running under ONNX Runtime. You hand it an image, and it returns bounding boxes plus the plate text.
The interesting bit
The whole pipeline is modular. You can subclass BaseOCR to drop in Tesseract, or point the detector at your own ONNX model. It is essentially opinionated glue: it handles the boring pre- and post-processing, but the actual inference brains are replaceable.
Key highlights
- Supports multiple ONNX Runtime backends—CPU, CUDA, OpenVINO, DirectML, and Qualcomm QNN.
- Ships with ready-to-use detection and OCR models, but neither is hard-coded.
- Includes a
draw_predictionshelper to annotate frames with OpenCV. - Live demo hosted on Hugging Face Spaces.
Caveats
- No ONNX runtime is included by default; you must install a backend (CPU, GPU, etc.) separately before it will run.
Verdict
Worth a look if you need an ALPR pipeline you can tune or deploy on edge hardware without fighting a monolithic model. Skip it if you want a single-command, batteries-included executable with no Python dependencies.
Frequently asked
- What is ankandrew/fast-alpr?
- Built to let you swap out the plate detector and OCR engine without trashing the rest of the pipeline.
- Is fast-alpr open source?
- Yes — ankandrew/fast-alpr is open source, released under the MIT license.
- What language is fast-alpr written in?
- ankandrew/fast-alpr is primarily written in Python.
- How popular is fast-alpr?
- ankandrew/fast-alpr has 728 stars on GitHub and is currently holding steady.
- Where can I find fast-alpr?
- ankandrew/fast-alpr is on GitHub at https://github.com/ankandrew/fast-alpr.