Drop a car photo here, browse, or paste
JPG · PNG · WEBP — max 25 MB. Best results: plate visible, roughly facing the camera.
…
Usually about a second — a purpose-trained plate model on our own server.
Done
No plate found — try a sharper, closer photo with the plate facing the camera.
…
Our own hardware
No cloud vision APIs — a purpose-trained licence-plate model (detector + OCR) runs on TechTools’ own server.
Nothing is kept
Your photo is processed in memory and never written to disk — it is gone the moment the read finishes.
About a second
Plate detection + reading typically finishes in well under a second. Hard photos (angle, dirt, night) may read with lower confidence — the API below offers the deep-AI option.
Use it as an API
API keys are available only to signed-in TechTools users — create a free account and reads are unlimited. Call the recognizer from your own scripts, backends or cameras.
The tool above uses our fast plate model (~1 s). The keyed API runs a deep vision AI instead — async, typically seconds to ~a minute, more thorough on hard photos, and it also returns the body colour.
Checking your API key…
Recognition is asynchronous — the deep AI typically answers in under a minute. Submit a photo, get a job id back immediately, then poll it every ~5 seconds until the status is “done”.
1 Submit a car photo
curl -X POST https://techtools.cz/spz-api/jobs \
-H "X-API-Key: YOUR_KEY" \
-H "Content-Type: image/jpeg" \
--data-binary @car.jpg
# → {"id":"JOB_ID","status":"queued","queue_position":0}
Multipart works too: curl -F image=@car.jpg -H "X-API-Key: YOUR_KEY" https://techtools.cz/spz-api/jobs
2 Poll the job until it finishes
curl https://techtools.cz/spz-api/jobs/JOB_ID
# → {"id":"JOB_ID","status":"done","spz":"5A81234","color":"red",
# "plate_readable":true,"model":"qwen3-vl:4b","elapsed_ms":3283}
! Errors
401— invalid API key429— the recognizer is at capacity — retry in a few minutes413/415— image over 25 MB / not an image file