A face-recognition Swiss Army knife that runs in your browser tab
This fork revives and modernizes the abandoned `face-api.js` so you can detect, describe, and compare faces without shipping data to a cloud API.

What it does
FaceAPI bundles pretrained TensorFlow/JS models for face detection, landmark tracking, face recognition, and demographic prediction (age, gender, emotion) into a single library. It works both in the browser and in Node.js, and ships with multiple build flavors: IIFE, ESM, and CommonJS, with or without TensorFlow pre-bundled.
The interesting bit
The original face-api.js was left unmaintained; this fork keeps the models alive while adding Node.js multiprocessing demos, GPU-accelerated builds, and a WASM backend for platforms where native TensorFlow binaries won’t run. That’s a lot of packaging work for what is essentially a thin wrapper around existing TFJS models.
Key highlights
- Pretrained weights included in the repo; no external model downloads at runtime
- Browser builds with TFJS baked in, plus a
nobundlevariant if you want to pin your own TensorFlow version - Node.js support from v14 through v22, with explicit GPU and WASM backend paths
- Live webcam and static-image demos hosted on GitHub Pages
- Worker-pool example showing how to parallelize face detection across CPU cores
Caveats
- Node.js v23+ is explicitly unsupported due to TensorFlow/JS incompatibilities
- Using graphical functions in Node.js requires manually patching the environment with a
canvaslibrary - The README is thorough but reads like a configuration manual; actual model accuracy and performance numbers are absent
Verdict
Worth a look if you need client-side face analysis without API keys or network round-trips. Skip it if you need production-grade accuracy benchmarks or a managed, automatically updated model pipeline.
Frequently asked
- What is vladmandic/face-api?
- This fork revives and modernizes the abandoned `face-api.js` so you can detect, describe, and compare faces without shipping data to a cloud API.
- Is face-api open source?
- Yes — vladmandic/face-api is open source, released under the MIT license.
- What language is face-api written in?
- vladmandic/face-api is primarily written in HTML.
- How popular is face-api?
- vladmandic/face-api has 1.1k stars on GitHub.
- Where can I find face-api?
- vladmandic/face-api is on GitHub at https://github.com/vladmandic/face-api.