Stay organized with collections Save and categorize content based on your preferences.
With ML Kit's face mesh detection API, you can generate in real-time a high accuracy mesh of 468 3D points for selfie-like images. Faces should be within ~2 meters (~7 feet) of the camera.
If you want to detect faces further than ~2 meters (~7 feet) away from the camera, please see ML Kit's face detection SDK.
Here are some of the terms used regarding the face mesh detection feature:
The bounding box is a rectangular area for a detected face.
Face mesh info is a group of 468 3D points and edges that can be used to draw the geometry mesh for a detected face.
The face mesh detection API generates a face mesh for detected faces, each containing 468 3D points and edges. With face mesh detection, you can perform more accurate operations on faces real-time, such as AR filters, selfie capture, and video chat.
Recognize and locate faces Get the bounding box for detected faces in a selfie-like picture.
Get face mesh information Get the 468 3D points and triangle info for each detected face.
Process video frames in real time Face mesh detection is performed on-device, and is fast enough for real-time applications, such as video manipulation.
Example results
Input
Output ("Bounding box only" mode)
Output ("Face mesh" mode)
Comparison with ML Kit face detection SDK
Face mesh detection API
Face Detection API
Use case recommended (examples)
Generate AR effects on faces in video streaming
Real-time face detection in selfie-like pictures (face within ~2 meters)
Detect how many faces are present in a picture
Detect faces far away from the camera
Latency
Low (~14ms on Pixel 3)
Recommended for real-time
Medium (~60ms on Pixel 3 when fast mode is ON)
Recommended input
Faces captured within ~2 meters (~7 feet)
Any picture with faces
Face points output
For each face, 468 3D points and triangle info when "face mesh" mode is enabled.
For each face, 133 2D points when "face contour" mode is enabled.
# faces recognized
"Bounding box only" mode: >=1 bounding box(es) as long as faces are close to camera (<= ~2 meters or ~7 feet away)
"Face mesh" mode: max 2 bounding boxes and meshes, as long as faces are close to camera (within ~2 meters away)
"Bounding box" mode: >=1; faces can be far from camera, but minimum size of 100x100 pixels per face
Face contours: max 1, as long as faces are close to camera
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-14 UTC."],[[["\u003cp\u003eML Kit's Face Mesh Detection API generates a real-time, high-accuracy mesh of 468 3D points for selfie-like images, ideal for AR filters and video chat, with faces within ~2 meters of the camera.\u003c/p\u003e\n"],["\u003cp\u003eThis API provides key capabilities such as recognizing and locating faces, getting face mesh information, and processing video frames in real time.\u003c/p\u003e\n"],["\u003cp\u003eFor detecting faces further than ~2 meters away or requiring face classification features like smiling, the ML Kit Face Detection API is recommended.\u003c/p\u003e\n"],["\u003cp\u003eThis API is currently in beta and subject to change.\u003c/p\u003e\n"]]],["The ML Kit's face mesh detection API generates a high-accuracy mesh of 468 3D points for faces within ~2 meters in real-time. It can recognize and locate faces, providing a bounding box and mesh information. The API is designed for real-time applications like AR filters and video chat, processing video frames quickly on-device. Two modes are provided: bounding box and face mesh mode. For faces further than ~2 meters, the standard ML kit face detection is recommended. This API is in beta.\n"],null,["| This API is offered in beta, and is not subject to any SLA or deprecation policy. Changes may be made to this API that break backward compatibility.\n\nWith ML Kit's face mesh detection API, you can generate in **real-time** a\n**high accuracy mesh** of 468 3D points for selfie-like images. Faces should be\nwithin \\~2 meters (\\~7 feet) of the camera.\n\u003e If you want to detect faces further than \\~2 meters (\\~7 feet) away from the\n\u003e camera, please see\n\u003e [ML Kit's face detection SDK](https://developers.google.com/ml-kit/vision/face-detection).\n\nHere are some of the terms used regarding the face mesh detection feature:\n\n- The **bounding box** is a rectangular area for a detected face.\n- **Face mesh info** is a group of 468 3D points and edges that can be used to draw the geometry mesh for a detected face.\n\nThe face mesh detection API generates a [face mesh](/ml-kit/vision/face-mesh-detection/concepts)\nfor detected faces, each containing 468 3D points and edges. With face mesh\ndetection, you can perform more accurate operations on faces real-time, such as\nAR filters, selfie capture, and video chat.\n\n[Android](/ml-kit/vision/face-mesh-detection/android)\n\nKey capabilities\n\n- **Recognize and locate faces** Get the bounding box for detected faces in a selfie-like picture.\n- **Get face mesh information** Get the 468 3D points and triangle info for each detected face.\n- **Process video frames in real time** Face mesh detection is performed on-device, and is fast enough for real-time applications, such as video manipulation.\n\nExample results\n\n| Input | Output (\"Bounding box only\" mode) | Output (\"Face mesh\" mode) |\n|-------|-----------------------------------|---------------------------|\n| | | |\n| | | |\n| | | |\n| | | |\n\nComparison with ML Kit face detection SDK\n\n|------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| | **Face mesh detection API** | **Face Detection API** |\n| Use case recommended (examples) | - Generate AR effects on faces in video streaming - Real-time face detection in selfie-like pictures (face within \\~2 meters) | - Detect how many faces are present in a picture - Detect faces far away from the camera |\n| Latency | Low (\\~14ms on Pixel 3) Recommended for **real-time** | Medium (\\~60ms on Pixel 3 when fast mode is ON) |\n| Recommended input | Faces captured within \\~2 meters (\\~7 feet) | Any picture with faces |\n| Face points output | For each face, 468 3D points and triangle info when \"face mesh\" mode is enabled. | For each face, 133 2D points when \"face contour\" mode is enabled. |\n| # faces recognized | - **\"Bounding box only\" mode:** \\\u003e=1 bounding box(es) as long as faces are close to camera (\\\u003c= \\~2 meters or \\~7 feet away) - **\"Face mesh\" mode:** max 2 bounding boxes and meshes, as long as faces are close to camera (within \\~2 meters away) | - **\"Bounding box\" mode:** \\\u003e=1; faces can be far from camera, but minimum size of 100x100 pixels per face - **Face contours**: max 1, as long as faces are close to camera |\n| Tracking id | No | Yes |\n| Face orientation | No | Yes |\n| Face classification (e.g. smiling) | No | Yes |\n| Implementation options | Bundled only | Bundled / Unbundled |\n| App size | Bundled: \\~6.4 MB Unbundled: not available yet | Bundled: \\~6.9Mb Unbundled: \\~0.6Mb |"]]