Scan MRZ (Machine Readable Zone) from identity documents (passport, id, visa) using iOS and Android. Heavily insipred by QKMRZScanner.

To plugin users


Sorry that the plugin didn’t work well for all of you. Unfortunately, I don’t have testing devices and time for investigations and fixing issues at the moment. Please feel free to create new tickets. I would be even more grateful for pull requests. I’m not abandoning the plugin and promise to merge contributions with fixes and new functionality, hence I would kindly ask for help with the development 🙂

Thanks in advance!

Supported formats:

  • TD1
  • TD2
  • TD3
  • MRV-A
  • MRV-B


Import the package

Add to pubspec.yaml

  flutter_mrz_scanner: ^1.0.0

For iOS

The plugin use native view, which is not yet supported by default. To make it work add the following code to Info.plist:


The plugin uses the device camera, so do not forget to provide the NSCameraUsageDescription. You may specify it in Info.plist like that:

    <string>May I scan a MRZ please?</string>

Set iOS deployment target to 12.

For Android


<uses-permission android:name="android.permission.CAMERA" />

to AndroidManifest.xml

Use the widget

Refer to example project for the complete app sample.



flutter_mrz_scanner is released under a MIT License. See LICENSE for details.