id_card_ocr_web

A high-performance, privacy-focused, pure client-side OCR parsing package for Flutter Web. Extract crucial structural data fields from national identity cards directly inside the browser—no server-side backend roundtrips required.

Currently optimized for:

  • Indonesia: KTP (NIK, Nama, Tempat Lahir, Tanggal Lahir)
  • Malaysia: (On Progress)

Features

  • Privacy First: Fully client-side processing using Web Workers. Sensitive PII data never leaves the user's browser.
  • Wasm Ready: Built using the modern dart:js_interop layer for forward-compatibility with Flutter Web's WebAssembly compilation backend.
  • Pre-Processing Utilities: Includes localized image matrix enhancements (grayscale conversion, edge sharpening) and string repairing modules to minimize Tesseract text mutations.

Getting Started

1. Ingest Package Dependency

Add the plugin to your project's pubspec.yaml:

dependencies:
  id_card_ocr_web: ^1.2.0

2. Initialize the Engine

Eagerly boot up and append the required engine assets into the browser DOM during your app initialization sequence:

void main() {
  WidgetsFlutterBinding.ensureInitialized();
  IdCardOcr.initialize(); // Injects script tags eagerly
  runApp(const MyApp());
}

Libraries

id_card_ocr_web