native_text_recognition

On-device text recognition for Flutter using native APIs.

Platforms

  • iOS 16.0+: Apple Vision VNRecognizeTextRequest (accurate, revision 3, automatic language detection)
  • Android: Google ML Kit Text Recognition with multi-language support (Latin, Korean, Chinese, Japanese, Devanagari)

Install

dependencies:
  native_text_recognition: ^0.0.2

Usage

import 'package:native_text_recognition/native_text_recognition.dart';

final ocr = NativeTextRecognition();
final text = await ocr.recognizeText('/absolute/path/to/image.jpg');
print(text);

Features

  • Automatic language detection: Both platforms automatically detect and handle multiple languages
  • Multi-language support: Supports Latin, CJK (Chinese, Japanese, Korean), and Devanagari scripts
  • Optimized performance: Android uses parallel model execution for best accuracy
  • Line-by-line optimization: Smart per-line model selection on Android for mixed-language documents

Notes

  • iOS requires deployment target 16.0+.
  • Android requires minSdk 21.
  • Example app is in packages/native_text_recognition/example (platform folders are .gitignored).

License MIT — see LICENSE.