OPEN SOURCE · COMPUTER VISION

PLPR

Reads Iranian license plates from a camera, a video or a photo, and decides whether the car may enter.

Open source (GPL-3.0) · 450+ stars · GitHub

PLPR web app in dark theme reading plate 87Y16111 and marking it not allowed

What it does

Version 2 runs the same models in four places: a browser tab, the original desktop app, an API server, and an edge agent next to the gate camera. All screenshots use made-up residents.

Web app

Runs the models in the browser with WebGPU or WebAssembly. Camera, video, photo or stream. Works offline, in Persian or English.

Desktop app

The original PySide6 app, now on the new engine.

API server

FastAPI with residents, entries, a review queue, signed webhooks and API keys with roles.

Edge agent

Reads an RTSP camera, buffers while offline, and can open a barrier relay.

One car, one entry

ONNX Runtime engine with a Persian plate grammar and a tracker that votes across frames.

Docker included

API, agent and go2rtc for browser streams, with optional Postgres.

Screenshots

PLPR web app in dark theme reading a plate PLPR desktop app with the plate boxed, the owner, the status and the entries table

Free and open source

Persian License Plate Recognition is free. The full source is on GitHub under the GPL-3.0 license.

Get it on GitHub