3DiVi News

Top Face Recognition Plugins in Flutter: What's Actually Worth Your Time on pub.dev?

Finding a reliable Face Recognition solution on pub.dev is not as easy as it seems. Sure, a quick search for “Face Recognition” brings up 100+ plugins, but most of them aren't exactly what you need.
So, you're a Flutter developer and you need to integrate Face Recognition technology into your app. You might decide to start by going to good old pub.dev and typing “face recognition” into the search. And what will be there?

Well, there's this: 120+ plugins at your service, it would seem that the choice is huge. But it's not.

The Search Problem: Too Many Irrelevant Results


❌ Irrelevant Plugins

A large portion of the search results aren't even related to Face Recognition. For example, plugins like fluent_ui, material_symbols_icons, and carbon_icon appear, which have NOTHING to do with Face Recognition but make up around 60% of the search results. It's strange that Google hasn't refined the search for such a popular developer resource.

❌ Face Detection ≠ Face Recognition

Many plugins confuse Face Detection with Face Recognition.

Using Face Detection, we want to establish where the faces are located in the image. We process the image with Face Detector and get a set of bounding boxes (bboxes). A bbox is simply a rectangle bounding a face in the frame.

Face Recognition solves a completely different task. Actually, there are even two tasks:
  1. Face Verification estimates whether the same person is presented in two images.
  2. Face Identification estimates whether some person is among our database of faces. Thus, Face Detection is an integral part of any Face Recognition Pipeline.

Because of this massive misconception, we have a large number of plugins which give you Face Detection but not Face Recognition. For example, there are a whole bunch of wrapper plugins over Google Vision API / Google ML KIT (google_ml_vision, google_ml_vision, google_ml_face_detection, google_mlkit_face_mesh_detection, google_vision, google_ml_kit), Apple Vision (apple_vision) and similar solutions. And there is no Face Recognition at all.

Liveness Detection/Anti-Spoofing: Also there are a few packages for solving the related task of Liveness Detection/Face Anti-Spoofing (but not Face Recognition): mnc_identifier_face, livelyness_detection, live_photo_detector, etc.

❌ Face Recognition from the Smartphone Vendor

It seems that all modern smartphones already have biometrics (Fingerprint Recognition and/or Face Recognition). This is a great choice if you only need Face Recognition to authenticate the user at app startup. But here's a short list of things YOU CAN NOT do with on-board biometrics:

  • Take biometric template and use it somewhere other than this device
  • Build any large database of templates and use it for Face Identification.
  • Customize the Face Recognition algorithm, for example, change the threshold for Matching Score
  • Get information about the quality of the Face Recognition algorithm. Seriously, try to find an answer to the question “What is the FAR/FRR of Face Recognition on my phone?”.

There are face_recognition, local_auth, nevis_mobile_authentication_sdk, etc. packages to work with built-in Face Recognition.

Real Face Recognition Options on Pub.dev

And finally, we've gotten to what we need, real Face Recognition. The absolute majority of plugins in this category are commercial solutions. And that means that you need to get a license file/token/activation code from the creators of the package. Typically, this happens like this:

  • You go to the Face Recognition vendor's website
  • Fill out an application form there. You'd better specify your corporate e-mail address, because people are usually not very happy with nonames from gmail.com.
  • You wait until they contact you and offer you a trial to test the plugin. In the best case, the trial will drop to your e-mail after you fill out the form.
  • Congratulations, you have left your e-mail address to some people on the Internet, and now they will spam you for the rest of eternity!

Also, among commercial solutions there is a specific group of plugins. These plugins are customized for the KYC case and use Face Recognition to compare selfies and photos from ID. These include blinkid_flutter, shuftipro_demo_sdk, vcheck, flutter_kyc_qitech, reverify, etc.

And so, now we can talk about Face Recognition plugins, less customized KYC or other business cases.

Key Face Recognition Plugins for Flutter

Let's take a look at the ones I found most interesting and relevant.

This and some other theme plugins are from the vendor Regula. Mobile SDK provides several features including Face Detection, Face Recognition (1:1 and 1:N) and Liveness Detection. There are no tools to estimate Face Quality and other attributes (gender, age, emotion). You need to get app_id and app_key from the vendor.


Part of a large Huawei ecosystem that can give you a lot, but will also require a lot of time to figure out.

You need to register in Huawei AppGallery. The framework is primarily focused on Huawei devices and EMUI. There is no Face Identification (1:N matching)


This and some other plugins belong to the Accura Scan vendor. This plugin provides Liveness Detection and Face Verification. No Face Identification (1:N matching). You need to get a license from the vendor for testing.


Our Mobile SDK allows you to immediately test Face Recognition with top-rated NIST technology, right on your smartphone. You can try it out in just 15 minutes—no registration, no sales calls.

Out of the box you can immediately evaluate Face Detection and Face Recognition (1:1).

And then, if you like what you see - write to us, we'll give you a free Face SDK trial with Face Identification (1:N), Liveness / Face Anti-spoofing algorithms to prevent fraud, Face Image Quality to enhance recognition accuracy, Age, Gender and Emotions Estimation and much more!

Highlights of the Review:

  • Face Detection ≠ Face Recognition—make sure you’re getting the functionality you actually need.
  • ​​Most of the reliable options are vendor-licensed, adding setup steps and dependency on external servers.
  • Face_sdk_3divi is the best first step you can take when dealing with Face Recognition on Flutter.
If you want to truly experience face recognition without the hassle of vendor dependencies or server-based processing, give our Face SDK Flutter plugin a try and see the difference for yourself.

2024-11-11 13:49 Articles Face SDK/API by Sergey Alabugin