Driverscan / Guides

Encrypted SA driver's licence barcode decoders compared: API, SDK or open source

Published 11 September 2026 · 7 minute read

There are three ways to read the encrypted barcode on a South African driver's licence: call a hosted decoding API, license an on-device barcode SDK that includes a South African licence parser, or build on open-source code. A hosted API is the fastest to integrate and needs no key handling on your side; an SDK works offline on the device; open source is free but, in the projects we checked, stops short of decryption or is no longer maintained.

Vendor details below were last checked against each vendor's own website on 11 September 2026. Prices and features change, so confirm them before you buy.

Option 1: a hosted decoding API

Your app or scanner reads the barcode, sends the raw bytes to a web service, and gets JSON back. Decryption and parsing happen on the provider's servers.

Driverscan is this kind of service, and is what we run. It decodes South African driver's licences including the embedded photo, the smart ID card, the vehicle licence disc, the temporary licence and Namibian licences, through one endpoint that detects the document type. It also accepts an image of the barcode if your device cannot return raw bytes. Billing is per successful decode, either prepaid by card or on an invoiced account.

  • Good for: web back ends, visitor management systems, and any team that wants to ship without handling encryption keys or the photo format
  • Trade-off: needs a network connection at the moment of the scan

Option 2: an on-device SDK

A commercial barcode SDK runs inside your mobile or desktop app and returns parsed licence fields without a network call.

barKoder advertises a South African driver's licence parser that will "Decrypt and Parse PDF417 on South African DL's", covering "South African driver's licenses and ID cards". It "works offline and in real-time" on iOS, Android, web and desktop. Its pricing page lists annual Enterprise plans starting at €1,250 per app per year for the Basic tier, which covers 50 devices, with "Unlimited Scans".

Scandit documents a South Africa driver's licence barcode result in its ID Capture SDK. It does not publish prices; its pricing page asks you to share details for "a tailored quote".

Dynamsoft publishes a tutorial and a Python package, south-africa-driving-license, that "reads the PDF417 barcode", "decrypts the RSA-encrypted payload, and extracts structured driver data". It depends on the Dynamsoft Barcode Reader, which requires a licence key; a 30-day trial key is offered. The package lists support for Python 3.6 to 3.11.

  • Good for: apps that must work with no signal, or high-volume handhelds where a per-device fee is cheaper than per-scan billing
  • Trade-off: a per-app or per-device licence, an SDK to keep updated in every app release, and photo extraction to confirm with the vendor before you commit

Option 3: open source

Open-source projects exist, but check what they actually do before building on one.

sa-license-decoder on GitHub is a JavaScript parser. Its README states that it assumes "the scanning and decryption of the raw barcode has already been performed", so it parses already-decrypted data only. Its repository was last updated in June 2017 and has no licence file, which leaves the terms of reuse unclear.

Reading the barcode is the easy part. The work is in decryption, the older card versions, the compressed photo, the edge cases that only appear across thousands of real cards, and keeping it all working as new card batches are issued.

  • Good for: learning how the format works, or a one-off internal tool
  • Trade-off: you own the maintenance, and a decoder that fails on one card in a hundred is a queue at the gate

Side by side

Hosted APIOn-device SDKOpen source
Where decoding runsProvider's serverYour deviceWherever you run it
Works offlineNoYesYes
Pricing modelPer decodePer app or device, usually annualFree, plus your time
Integration effortOne HTTP requestSDK in every app buildBuild and maintain the decoder
Encryption keys to manageNoNoYes

How to choose

  • If scans happen where there is mobile data or Wi-Fi, and you want the photo and several document types from one integration, a hosted API is the shortest path.
  • If scanners must work in dead zones, an on-device SDK is the only option that will. Budget for the per-device licence.
  • If you are exploring the format, open-source parsers are a good read. Plan on writing the decryption and photo decoding yourself.

For the technical detail behind all three, read how to decode the encrypted South African driver's licence barcode. For gate and reception use cases, see driver's licence scanning for visitor access control.

Try Driverscan

Driverscan is a REST API run by Apex Technology. Register for an account to get an API token and the full documentation, or contact sales about volume pricing.

Related guides