Blog
Blog arrow right Face Tracking arrow right Android Face Tracking 2026: Banuba vs ARCore + 9 SDKs

Android Face Tracking 2026: Banuba vs ARCore + 9 SDKs

Android face tracking splits into Google's own stack, open-source libraries, and commercial SDKs. Banuba Face AR SDK is a real-time, on-device face tracking and AR effects SDK that runs at 30 FPS on mid-range mobile hardware with a -80° to +80° head-angle tracking range. Banuba publishes this comparison, so the ARCore measurements below are vendor-run tests you should repeat on your own devices. The practical split is not raw detection quality, where ARCore is strong, but what each option requires from the device and what it lets you render on top of the face.
banuba 3D face tracking
Stay tuned Keep up with product updates, market news and new blog releases
Thank You!

Explore Banuba technology and try it on your projects

Explore

TL;DR:

  • ARCore Augmented Faces is free with the platform and ships a 468-point dense 3D face mesh.
  • ARCore face tracking is not Android-only. Google documents Augmented Faces for Android, iOS, Unity, and Unreal, and from ARCore 1.12 every ARKit-compatible Apple device is supported.
  • On Android, ARCore needs a device from Google's certified list plus the Google Play Services for AR package. Banuba Face AR SDK needs Android 8.0 (API level 26) and OpenGL ES 3.0, with no certification list and no extra system package.
  • Google ML Kit has a lower Android floor than either ARCore or Banuba Face AR SDK, API level 23, so it reaches older handsets than either. Its Face Mesh API is still Beta and Android-only.
  • Banuba Face AR SDK tracks 68 facial anchor points and builds a mesh of up to 3,308 vertices with 37 morphs, which is what makes real-time reshaping of the nose, eyes, lips, and chin hold its shape.
  • Banuba Face AR SDK ships to eight platforms from one integration: iOS, Android, Web, Unity, Flutter, React Native, Windows and macOS.
  • Every frame in Banuba Face AR SDK is processed on the user's device, so a live stream carries no cloud round-trip.
  • Banuba Face AR SDK is priced by the platforms you ship on, under either a flat annual licence fee or an active-user model, with a 14-day free trial.
  • Choose the free Google stack when face tracking itself is the feature. Choose a commercial SDK such as Banuba Face AR SDK when the effects, beauty, and reshaping on top of the mesh are the features.

How to choose Android face tracking software

Five criteria separate these options on an Android build:

Device requirement. The minimum Android version, and whether the SDK also needs a certified device or an extra system package installed on the handset.

What you get on top of the mesh. Detection and landmarks only, or a renderer with effects, beauty, and face reshaping included.

Platform spread. Whether one integration also covers iOS, the web, desktop, and the game engines.

Where processing runs. On the device, or in the cloud with a round-trip per frame.

Licensing. Open source, free with the platform, published price tiers, or a commercial quote.

Android face tracking SDKs compared

SDK

Role

Android requirement

Platforms

Licensing

Banuba Face AR SDK

Commercial Face AR, beauty and reshaping on top of the mesh

Android 8.0, API level 26, OpenGL ES 3.0

iOS, Android, Web, Unity, Flutter, React Native, Windows, macOS

Commercial licence by platform, 14-day free trial

ARCore Augmented Faces (Google)

Free native AR face mesh, 468 points

Android 7.0 or newer, ARCore-certified device, Google Play Services for AR

Android, iOS, Unity, Unreal

Free with the platform

Google ML Kit

Free face detection, lower Android floor than ARCore and Banuba; Face Mesh is Beta and Android only

Android API level 23

Android, iOS (64-bit devices)

Free

MediaPipe Face Landmarker (Google)

Open-source on-device landmarks you wire up yourself

Implementation guides for Android, Web and Python

Android, iOS, Web, Python

Apache 2.0

Snap Camera Kit

Brings Snap Lenses into your own app

Android 5.0 and SDK 21, OpenGL ES 3.0

iOS, Android, Web

Snap Camera Kit terms

DeepAR

Commercial AR effects SDK with published price tiers

Android 6.0, API level 23

iOS, Android, Web, macOS

Published price tiers

BytePlus Effects

Commercial filters, stickers and AR effects

Android 6 and later

Android, iOS, Windows, macOS, Linux

Licence required, offline licence file

Faceunity (Nama SDK)

AR video effects and beautification

Supported

Android, iOS

Contact sales

Visage Technologies (Visage SDK)

Face tracking, analysis and recognition

Supported

Android, iOS

Contact sales

OpenCV

Open-source building blocks you compile into your own app

An Android package ships with each release

Windows, Linux, Android, macOS, iOS

Apache 2.0 for 4.5.0 and later

Luxand FaceSDK

Face detection and recognition library

Android 5.0, platform version 21 and up

Android, iOS

Not publicly documented

The two Google options are documented at ARCore Augmented Faces and ML Kit face detection, and Banuba's own requirements are in the Banuba Face AR SDK system requirements.

The rest of this post is the detailed Banuba and ARCore comparison, measured in two stages.

Face tracking cycle explained

This post explains how each performance parameter impacts the user experience on the example of face filters and approaches the choice of real-time face tracking software from the business perspective.

We compared our face tracking software for Android with Google's ARCore, examining different performance criteria.

banuba 3D face trackingFace Tracking Cycle: SSD and FRX Dependency 

The face tracking cycle involves two stages: Face Detection stage (SSD) and Face Tracking stage (FRX).

Face Detection, or SSD (single-shot detection), shows how fast the algorithms detect a face in a single shot. Once the face is detected, the algorithms step into the Face Tracking (FRX) stage to track the facial feature points located in the screen.

In case the face is lost, the algorithms switch back to SSD, and the process goes in circles.

Having two stages in the face tracking cycle makes sense, because in case of face loss the application switches to power-saving face detection mode.


Why SSD metrics are important

The SSD stage is the starting point of face tracking software performance. Faster and more stable SSD provides a better and smoother user experience.

In practice, the device will heat lesser, the FPS will be more stable, and the functionality of the app built on top of this face tracking software will perform better from the end-user experience perspective.

If SSD is tuned to detect the face quickly, at different angles, lighting, occlusion, and on different types of people, the starting point of the camera experience runs smoothly. The poorly optimized SSD results in AR masks lagging and frequent losses.


Why FRX metrics are important

The FRX stage, aka face tracking, enables the software performance in the context of real-time user experience.

It’s natural for users to move, turn, and tilt when using the camera app. They may wear glasses, have poor lighting when using the app, not to mention the limited device capabilities. All these factors influence the performance of face filters or any other AR camera experience built on top of face tracking.

It's important to consider different FRX metrics when choosing the face tracking software. With FRX, optimized for different conditions such as low lighting, camera shakes and rotates, the user experience feels better, making AR camera apps more enjoyable.

3D face tracking software comparison: SSD

To compare the SSD criteria, we considered 5 key criteria, including its speed, angles, distance support, multi-face performance, and technical features.

Device used: Pixel 2. These are vendor-run tests on the hardware available when the comparison was first made, so treat them as directional and re-run them on the handsets your own users carry.


Comparison summary:

  • Both Google's ARCore and Banuba face tracking software are pretty fast with face detection when looking straight into the camera.
  • Both Google and our face tracking detect a face at wide head angles, up to the 80° that Banuba Face AR SDK documents, and at different camera positions (under and above the face). ARCore performs more accurately.
  • Banuba supported the longer detection distance in this test, 1.8 to 2.0 meters against 1.6 to 1.7 meters for Google. Banuba Face AR SDK is documented today at distances up to 3.7 meters.
  • Banuba’s face tracking software has shown better performance with multi-face detection at different angles compared to ARCore.

How speed impacts user experience

The speed of face detection shows how fast the face is detected when the user opens the camera or after the face loss.

Fast SSD: Face filter appears on a face within milliseconds once the user opens the camera. The mask sticks well from the very first moment.

Slow SSD: The user may need a couple of seconds to have a face filter located on their face. The face filter may “blink” for some time when adjusting to the face.


How angles impact user experience

The angles metric shows how fast and accurately the face is detected at different angles or when the user is not looking straight into the camera.

Wide angles (up to 80°): The user may hold the device at a steep angle without looking straight at the camera. The face filter sits fast and well or with insignificant inclinations.

Narrow angles (15-45°): The user needs to look straight into the camera to have a filter placed on their face. The filter may disappear if the user inclines or turns the head.


How distance impacts user experience

The distance metric shows how fast the face is detected at a long distance. Usually applied for the back camera.

The longer distance support makes it possible to apply filters beyond the selfie mode using the back camera.


How multi-face impacts user experience

The multi-face criterion shows how fast and stable the face detection is with several faces in a shot.

Fast multi-face: Face filters can be used with several people simultaneously with equally good performance. 

Slow multi-face: The face filter doesn’t fit properly with the second face in the camera, blinks, and falls apart.

3D face tracking software comparison: FRX

To compare FRX, we replaced ARCore’s Augmented Faces mask with the 3D face mesh, which provides a better visual representation of face tracking performance.

We tested a variety of use cases e.g., camera jitter, different head positions, low lighting, and others, and paid attention to mask stability and performance. The table below explains the performance differences.

Device used: Galaxy S9, again the hardware of the day rather than a current mid-range handset.

NOTE: The 3D face mesh doesn’t fully show how Google’s face tracking performs on the mouth. It’s important for filters with mouth triggers, virtual lips recoloring, or 3D avatar performance. 

Banuba and ARCore 3d face tracking comparedFRX comparison on Galaxy S9: Banuba vs ARCore


FRX technical features

FRX technical features cover the device outreach that face tracking software supports. Broader device coverage makes face detection and tracking solutions accessible to a wider user audience.

The device question is where the two differ most, and it is not a question of Android version. Google certifies every handset that may run ARCore, and the published requirement is that an ARCore device runs Android 7.0 or newer, originally shipped with the Google Play Store, and has the camera, motion sensors, and CPU that Google checks during certification. An ARCore app also needs the separate Google Play Services for AR package installed on the handset, and an AR Required app declares a minSdkVersion of 24 or higher.

Banuba Face AR SDK asks for Android 8.0, API level 26, and OpenGL ES 3.0. There is no certified-device list to check against and no extra system package for the user to install, which is the practical difference on a device roster you do not control. It is worth being precise about where this advantage stops: Google ML Kit runs from API level 23, a lower floor than either ARCore or Banuba Face AR SDK, so ML Kit reaches older handsets than either. Snap Camera Kit and Luxand FaceSDK go lower still, to API level 21.

Budget hardware is also where face tracking claims tend to fall apart, which is why independent testing matters more than a spec sheet. Dave Gordon's stress tests on a $150 Android handset put four Android SDKs, Banuba among them, through dim lighting and heavy occlusion on a Galaxy A20 rather than a flagship.

You can view the full list of the devices ARCore supports on Google's developer site.

Free Google tooling vs a commercial SDK

ARCore is free to use, but it is worth being accurate about what that means. ARCore is not open source: it is a proprietary Google framework distributed through Google Play Services for AR at no cost. The genuinely open-source options on Android are MediaPipe Face Landmarker and OpenCV, both under Apache 2.0, and Google ML Kit is free although not open source. A commercial SDK comes on paid terms, meaning you buy a licence.

So, why pay?

In the context of apps, 3D face tracking usually stands as the core technology to enable specific functionality.

With face tracking, you can implement face AR experiences, camera effects or face analytics in your app. But you don’t need an app that only detects the square of the face, right? Moreover, you want your app to be accessible for as many users as possible.

From a business perspective, implementing such experiences involves significant development and design efforts.

The free options hand you a mesh and landmarks and leave the renderer, the effects, and the content pipeline to you. That is the gap a commercial SDK closes, and it is the only reason to pay for one.

Where Banuba differs from ARCore on Android


1. Effects and reshaping, not just a mesh

ARCore gives you a 468-point dense 3D face mesh, a centre pose behind the nose and three region poses on the left forehead, right forehead and tip of the nose. What you render on that mesh is yours to build. Banuba Face AR SDK tracks 68 facial anchor points and builds a mesh of up to 3,308 vertices while tracking 37 mesh morphs, and the morphs are the part that matters here: they are what lets real-time structural changes to the nose, eyes, lips, and chin hold their shape instead of sliding. Point count is not the comparison, because ARCore and MediaPipe both publish denser point sets. What differs is that the effects, beauty, and reshaping arrive with the SDK.


2. No certified-device list and no extra system package

Covered above. On a device roster you do not control, dropping the ARCore certification check and the Google Play Services for AR dependency is the difference between shipping to all Android 8.0 handsets and shipping to the subset Google has certified.


3. One integration, eight platforms

ARCore's Augmented Faces API covers Android, iOS, Unity and Unreal. Banuba Face AR SDK ships the same face tracking to iOS, Android, Web, Unity, Flutter, React Native, Windows and macOS from one integration, and Banuba builds and maintains all eight, so there is no community wrapper in the chain. The web and desktop targets are the ones ARCore does not cover at all, which matters for browser-based try-on and for kiosk or photobooth builds.


4. Everything on the device

Every frame is processed on the user's device, so a live stream carries no cloud round-trip, and no face data leaves the handset. For the privacy and compliance questions that come up in verification, conferencing, and kiosk projects, that is a design property rather than a policy promise.


5. Licensing you can size up front

Banuba Face AR SDK is priced by the platforms you ship on, under one of two models: a flat annual licence fee, where usage is unlimited and the cost stays fixed even if the app scales to a very large user base, or an active-user model, which costs significantly less at the start and grows with the user base, and can exceed the flat fee if the app takes off. A 14-day free trial covers validating performance on your own devices and your own footage first.

For AR content work on top of the tracker, the AR content creation guide covers the asset side.

ARCore remains the better answer when you want native Android AR for free, you are happy inside Google's certified device list, and the dense mesh is all you need. Banuba Face AR SDK is the better answer for one narrow case: shipping face AR effects, beauty, and reshaping across mobile, web, and desktop from a single integration, without a certification list deciding which of your users get the feature.

References

Banuba. n.d. Face Tracking Software. Banuba. https://www.banuba.com/technology/face-tracking-software

Banuba. n.d. System Requirements. Banuba Face AR SDK documentation. https://docs.banuba.com/far-sdk/tutorials/capabilities/system_requirements/

Google. n.d. ARCore supported devices. Google for Developers. https://developers.google.com/ar/devices

Google. n.d. Augmented Faces. Google for Developers. https://developers.google.com/ar/develop/augmented-faces

Google. n.d. Face detection. ML Kit documentation. https://developers.google.com/ml-kit/vision/face-detection

Google. n.d. Face Landmarker. MediaPipe Solutions. https://developers.google.com/edge/mediapipe/solutions/vision/face_landmarker

Gordon, Dave. 2026. Stop Testing Face AR on Flagships: What I Learned Stress-Testing 4 Android SDKs. Medium. https://medium.com/@davegord86/stop-testing-face-ar-on-flagships-what-i-learned-stress-testing-4-android-sdks-89eb9664388f

FAQ
Top