Now available โ€” iOS, Android & Flutter

License plate recognition
built for developers.

A precise, offline-capable ALPR SDK with fully on-device recognition. No image or plate data is sent to the cloud, with no per-scan fees.

Get API key โ€” it's free Read the docs
๐ŸŽ iOS 16+ ๐Ÿค– Android 8+ ๐Ÿ’™ Flutter ๐ŸŒ 90+ Countries โœˆ๏ธ Offline
๐Ÿ“ท
ABCยท1234
Detected in 42ms ยท 94% confidence ยท Offline
42ms
Average detection time
90+
Countries supported
97%
Accuracy in good lighting
0
Recognition requests per scan
Platforms
One SDK.
Every platform.

A consistent API across iOS, Android, and Flutter so your team integrates once and ships everywhere.

๐ŸŽ

iOS (Swift)

Native XCFramework using Apple Vision and AVFoundation. SwiftUI and UIKit compatible. Ships as a binary framework โ€” no source required.

Available now
๐Ÿค–

Android (Kotlin)

CameraX + ML Kit powered AAR library. Jetpack Compose and View-based apps both supported. Minimum Android 8.0 (API 26).

Available now
๐Ÿ’™

Flutter (Dart)

A first-class Flutter plugin wrapping the native iOS and Android SDKs. Drop-in widget, event streams, and full configuration API.

Available now
Features
Everything you need.
Nothing you don't.
โœˆ๏ธ

Fully offline

All inference runs on-device using the platform's native ML stack. Only anonymous aggregate licence and usage counters synchronize periodically when connectivity is available.

๐ŸŒ

90+ country support

Region-aware validation with per-country regex patterns. Supports standard and vanity formats for US, UK, EU, India, Australia, Middle East, and more.

โšก

Real-time processing

Frame-by-frame scanning at full camera frame rate. Crops the pixel buffer to your defined region of interest before OCR โ€” no wasted computation.

๐Ÿ”’

Licence-gated

API key + secret key validation against your portal. Enforce app-level restrictions, usage tiers, and expiry dates without resubmitting to the App Store.

๐Ÿงฉ

Simple integration โ€” less than 10 lines of code

Activate with your API key, set a delegate, call startScanning(). The SDK handles camera permissions, session management, Vision requests, cropping, validation, and deduplication. Drop in the preview view and you're done.

Integration
Three lines to scan.
Swift (iOS)
Kotlin (Android)
Flutter (Dart)
// 1. Activate your licence
PlateVisionSDK.shared.activate(apiKey: "pv_live_xxx", secretKey: "sk_xxx") { result in
    if case .success(let licence) = result, licence.isValid {

        // 2. Configure (optional)
        var config = PVConfiguration.default
        config.region = .us
        config.minimumConfidence = 0.70
        PlateVisionSDK.shared.configure(config)

        // 3. Set delegate and start
        PlateVisionSDK.shared.delegate = self
        PlateVisionSDK.shared.startScanning()
    }
}

// 4. Receive results
func plateVision(_ sdk: PlateVisionSDK, didDetect result: PVDetectionResult) {
    print(result.plateText, result.confidencePercent)
}
Pricing
Pay for what
you build with.
Starter
$0
forever free
For evaluation, prototyping, and hobby projects.

  • 1 app / 1 key
  • iOS SDK
  • 2,500 activations/mo
  • Community support
Get started free
Enterprise
Custom
annual contract
For organisations with custom compliance, SLA, or white-label needs.

  • Unlimited apps
  • All platforms
  • White-label SDK
  • Dedicated support
  • Custom SLA
  • On-premise portal
Contact us