Short answer: these four options are different shapes of React Native pose detection. PoseTracker runs MoveNet in a WebView. The ML Kit and expo-pose-landmarks packages wrap another detector and, for live camera, a Vision Camera frame processor. react-native-mediapipe-posedetection is a MediaPipe Pose Landmarker behind a Vision Camera frame processor. ExecuTorch runs a downloaded pose model on device and can be called from an image buffer. Where a README does not state a number, this page says not published.
Sources
- PoseTracker React Native README: https://github.com/Movelytics/react-native-pose-estimation
- PoseTracker pricing: https://www.posetracker.com/#pricing
react-native-mlkit-pose-detection: https://github.com/swittk/react-native-mlkit-pose-detectionexpo-pose-landmarks: https://www.npmjs.com/package/expo-pose-landmarks- Vision Camera + MediaPipe frame processor, as documented by
react-native-mediapipe-posedetection: https://github.com/EndLess728/react-native-mediapipe-posedetection - ExecuTorch Pose & Keypoints: https://docs.swmansion.com/react-native-executorch/docs/extensions/pose-and-keypoints
- ExecuTorch getting started (Expo Go): https://docs.swmansion.com/react-native-executorch/docs/fundamentals/getting-started
- ExecuTorch licence: https://github.com/software-mansion/react-native-executorch/blob/main/LICENSE
Fact table
| PoseTracker | react-native-mlkit-pose-detection / expo-pose-landmarks | Vision Camera + MediaPipe frame processor | react-native-executorch | |
|---|---|---|---|---|
| Keypoints | 17 COCO (MoveNet SinglePose Lightning). Opt-in BlazePose is also mapped to 17 COCO points. | not published | 33 pose landmarks per detected person | 17 COCO body keypoints for YOLO26 Pose and RF-DETR Keypoint. BlazeFace is 6 facial landmarks. |
| Expo Go | Yes, on the WebView path. The optional Apple Vision backend is not available in Expo Go. | not published. expo-pose-landmarks says “Expo managed workflow compatible”, which is not a statement about Expo Go. |
not published. The README has an Expo config plugin that copies model files at prebuild. | No. Getting started says Expo Go is not supported, because of custom C++ native libraries. |
| Frame processor required | No. Required peer is react-native-webview. |
react-native-mlkit-pose-detection: live video uses a Vision Camera frame processor; file video uses react-native-native-video. expo-pose-landmarks: the camera example uses useFrameProcessor. The README also documents a listener API. |
Live camera: yes, the hook returns a frameProcessor for Camera. Static images use PoseDetectionOnImage and do not. |
No. detectKeypoints takes an image buffer. Docs also show detectKeypointsWorklet inside a Vision Camera frame processor, as one way to call it. |
| Bundle size | About 9.9 MB packed for the offline package. About 206 kB packed for the light package. | not published | not published | npm package size: not published. Published model file sizes: YOLO26 Pose 11.4 MB, RF-DETR Keypoint 138.6 MB–140.9 MB, BlazeFace 0.6 MB. |
| On-device | Yes. MoveNet runs in a WebView. The light package downloads TensorFlow.js and the model, then runs them on the device. | not published | not published. The README documents CPU, GPU, and NNAPI delegates inside the app. | Yes, after the model file is downloaded. The library README describes on-phone inference. |
| Licence | Proprietary (Movelytics SAS / PoseTracker). TensorFlow.js and MoveNet Lightning are Apache 2.0. | MIT / MIT | MIT | MIT. The bundled ExecuTorch native runtime is BSD 3-Clause. |
| Price | Freemium €0, up to 200 API calls per month, non-commercial. Developer €50 per month, up to 1,000 calls. Business from €150 per month. Keypoints without an API key are free. | not published | not published | not published |
The Vision Camera + MediaPipe column uses react-native-mediapipe-posedetection, a published package whose README is a Vision Camera frame processor around MediaPipe Pose Landmarker. It is one implementation of that pair, not a survey of every plugin.
What each README actually ships
PoseTracker is a product SDK: MoveNet SinglePose Lightning, 17 COCO keypoints, iOS and Android, including Expo Go, with react-native-webview as the required peer. Keypoints run without an API key. Reps, angles, and a form score use the paid movement engine. Two packs are published: offline (~9.9 MB packed, model bundled) and light (~206 kB packed, model fetched at runtime).
react-native-mlkit-pose-detection says it is ML Kit Pose Detection, currently iOS only. Live video goes through a Vision Camera frame-processor plugin. File video goes through react-native-native-video. The README does not state a landmark count, an Expo Go answer, a package size, whether inference is on-device, or a price. Licence: MIT.
expo-pose-landmarks says it detects pose landmarks with MediaPipe and Vision Camera, and that MediaPipe is included in the plugin. The landmark type is an index plus x, y, z, visibility, and presence. It does not state how many landmarks that array contains. Requirements are Expo SDK 49+, React Native Vision Camera, and the config plugin in app.json. Licence: MIT. Keypoint count, Expo Go, package size, on-device, and price: not published.
react-native-mediapipe-posedetection returns 33 landmarks, world landmarks, and an optional segmentation mask. Real-time detection is a Vision Camera frame processor. It requires React Native’s New Architecture and react-native-vision-camera ^4 for the live path. The README throttles detection to about 15 FPS and says that throttle is there to limit memory use, not as a device benchmark. Expo Go, package size, and price: not published. Licence: MIT.
react-native-executorch Pose & Keypoints runs YOLO26 Pose (17 COCO points, published size 11.4 MB), RF-DETR Keypoint (17 COCO points, 138.6 MB–140.9 MB), or BlazeFace (6 facial landmarks, 0.6 MB). Those sizes are model files, not the npm tarball. Getting started requires a development build: Expo Go is not supported. Inference is on device after download. Licence: MIT, with the ExecuTorch runtime under BSD 3-Clause. Price: not published.
FAQ
Does PoseTracker require a Vision Camera frame processor?
No. The PoseTracker React Native README says MoveNet runs on-device in a WebView and the required peer is react-native-webview. A Vision Camera frame processor is not in that setup.
Does react-native-executorch run in Expo Go?
No. The ExecuTorch getting-started page says Expo Go is not supported because the library uses custom C++ native libraries. It asks for a development build on Expo SDK 55+.
How many keypoints does each option publish?
PoseTracker publishes 17 COCO keypoints. react-native-mediapipe-posedetection publishes 33 pose landmarks. ExecuTorch publishes 17 COCO keypoints for YOLO26 Pose and RF-DETR Keypoint, and 6 facial landmarks for BlazeFace. react-native-mlkit-pose-detection and expo-pose-landmarks do not publish a keypoint count.
What does PoseTracker charge for pose detection?
The public pricing page lists Freemium at €0 (up to 200 API calls per month, non-commercial), Developer at €50 per month (up to 1,000 calls), and Business from €150 per month. The React Native README says keypoints work without an API key. The other libraries on this page do not publish a price.
Is a frame processor required for the MediaPipe Vision Camera package?
For live camera, react-native-mediapipe-posedetection returns a Vision Camera frameProcessor and the example assigns it to Camera. Static images use PoseDetectionOnImage and do not use that frame processor.
Need help building your fitness solution?
Want to learn how PoseTracker can enhance your fitness app? Contact us for a demo and see how easy it is to bring real-time tracking and personalized feedback to your clients.