WebGazer.js
WebGazer.js is a JavaScript library that estimates where a website visitor is looking using an ordinary webcam, with gaze locations available in real time.
What WebGazer.js is
WebGazer.js is a JavaScript library that estimates where a website visitor is looking using an ordinary webcam, with gaze locations available in real time. It runs entirely in the visitor's browser, so video data does not need to be sent to a server, and webcam access requires the user's consent. The model calibrates itself by observing page interactions such as clicks and cursor movements. A site can add the library with a script tag and a few lines of code. Tracker and regression modules can be swapped; included prediction models are ridge, weightedRidge, and threadedRidge, and MediaPipe Facemesh is the default tracker. The library can provide real-time gaze coordinates and calibration points. Training data can be saved between sessions in the browser using localforage and IndexedDB, or cross-session saving can be disabled. Supported browsers are Chrome, Edge, Firefox, Opera, and Safari. WebGazer.js is free under the GPLv3 license. The project offers a webcam video dataset with 51 participants for training and evaluation. As of February 24, 2026, updates are no longer guaranteed, though community support continues through GitHub Issues.
Good
- Uses a common webcam rather than special hardware.
- Video data need not be sent to a server.
- Self-calibrates from clicks and cursor movements.
- Free under the GPLv3 license.
- Supports Chrome, Edge, Firefox, Opera, and Safari.
Watch out
- Webcam access requires user consent.
- Updates are no longer guaranteed.
- Training data may be stored between sessions unless disabled.
Who it suits
It suits website developers exploring browser-based gaze estimation without special hardware. Its consent requirement and local processing may matter to sites handling webcam access.
Verdict
WebGazer.js offers browser-based gaze estimation with swappable components and local data options. Its updates are no longer guaranteed, so prospective users should account for ongoing maintenance uncertainty.
The facts
Each one read from WebGazer.js's own pages, with the date it was checked.
Where it runs
- Browser processing
- The library runs entirely in the client browser, so video data does not need to be sent to a server.checked 7 Oct 2026
- Browsers
- The project lists Google Chrome, Microsoft Edge, Mozilla Firefox, Opera, and Safari as supported browsers.checked 7 Oct 2026
- Browser support
- The listed supported browsers are Chrome, Edge, Firefox, Opera, and Safari.checked 7 Oct 2026
What it does
- Calibration
- Its model self-calibrates by observing interactions with the page, including clicks and cursor movements.checked 7 Oct 2026
- Client-side processing
- It runs entirely in the client browser, so video data does not need to be sent to a server.checked 7 Oct 2026
- Consent
- WebGazer.js requires the user’s consent to access their webcam.checked 7 Oct 2026
- Dataset
- The project provides a dataset containing data from 51 participants, including webcam videos, interaction logs, and gaze locations predicted by a Tobii eye tracker.checked 7 Oct 2026
- Data storage
- Training data can be saved between browser sessions in the browser using IndexedDB via localForage.checked 7 Oct 2026
- Eye tracking components
- Tracker and regression modules can be swapped, and MediaPipe Facemesh is included as the default tracker.checked 7 Oct 2026
- Hardware
- It uses a common webcam and does not require special hardware.checked 7 Oct 2026
- Integration
- The project says it can be added to a website with a few lines of JavaScript, including as a script or through the npm package.checked 7 Oct 2026
- Intended use
- The site describes WebGazer.js as a way for websites to understand visitors and transform their user experience.checked 7 Oct 2026
- License
- The official site lists WebGazer.js under the GPLv3 license.checked 7 Oct 2026
- Local data
- Training data can be saved between browser sessions using localforage and IndexedDB; saving across sessions can be disabled.checked 7 Oct 2026
- Maintainer
- The site identifies Jeff Huang as the current maintainer and says WebGazer research began at Brown University, with recent work and maintenance jointly at Pomona College and Brown University.checked 7 Oct 2026
- Maintenance
- As of February 24, 2026, updates are no longer guaranteed, while community support continues through GitHub Issues.checked 7 Oct 2026
- Maintenance and support
- As of February 24, 2026, updates are no longer guaranteed, while community support continues through GitHub Issues.checked 7 Oct 2026
- Modules
- Eye tracking components can be swapped, and the library includes multiple gaze prediction models.checked 7 Oct 2026
- Prediction models
- The included regression modules are ridge, weightedRidge, and threadedRidge.checked 7 Oct 2026
- Purpose
- WebGazer.js uses ordinary webcams to estimate web visitors’ gaze locations on a page in real time.checked 7 Oct 2026
- Use cases
- The site describes the library as a way for websites to understand visitors and transform their user experience.checked 7 Oct 2026
The company
- Founded
- 2016checked 28 Sep 2026
Alternatives to WebGazer.js
- 1

RealEye
AndroidiOSWeb7.0From $325 a month - 2
Hawkeye
Free planiOSWeb6.8From $39.99 a month - 3
GazeRecorder
Free planAndroidiOSWebWindows6.7Free plan - 4

Chiasm
Free planWebAPI6.6From €199 a month - 5

GazePlotter
Free planAndroidiOSWebLinux6.6Free plan - 6
iTrace
Free planWebLinuxSelf-hosted6.5Free plan
