BlogFace TrackingAndroid 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.
Stay tunedKeep up with product updates, market news and new blog releases
Explore Banuba technology and try it on your projects
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
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.
Face 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.
FRX 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.
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.
ARCore Augmented Faces is free with the platform, so if you only need a face mesh to render your own assets on, there is no licence to buy. A paid SDK earns its cost when the effects layer is the product rather than the tracking: Banuba Face AR SDK ships the renderer, beauty, makeup, and face reshaping on top of the mesh, priced by the platforms you ship on with a flat annual or active-user model. The Banuba Face AR SDK pricing page covers both models and the 14-day trial.
No. Banuba Face AR SDK does its own face detection and tracking, so it does not call ARCore, and your users do not have to install the Google Play Services for AR package. The requirement is Android 8.0, API level 26, with OpenGL ES 3.0, as listed in the Banuba Face AR SDK system requirements.
On the device. Every frame of Banuba Face AR SDK processing happens locally, which is why a live stream carries no cloud round-trip and no face data leaves the handset. When a project genuinely needs server-side processing instead, for example, batch analysis with no on-device SDK, Banuba's Face API is the cloud-based option.
The official technical documentation for Banuba Face AR SDK is available online and includes requirements, setup instructions, and configuration details:
This Banuba Face AR SDK documentation should be your primary reference during integration.
You can access official integration code samples for the Banuba Face AR SDK on GitHub. Banuba provides platform-specific examples to help you integrate faster: