Freedom251 › Eye Tracking Software
WebGazer.js

What WebGazer.js is
WebGazer.js is a free JavaScript library that estimates where a person is looking on a web page using a common webcam. It runs in the visitor’s browser and can display gaze coordinates in real time, along with calibration points. Webcam access requires the visitor’s consent, and video data does not need to be sent to a server. The model calibrates itself by observing page activity such as clicks and cursor movements.
A website can add the library with a script tag and a few lines of code. Its tracker and regression modules are replaceable; MediaPipe Facemesh is the default tracker, and the included prediction models are ridge, weightedRidge, and threadedRidge. Training data can be kept between sessions in the browser with localForage and IndexedDB, or that cross-session saving can be disabled. WebGazer.js supports Chrome, Edge, Firefox, Opera, and Safari, and is licensed under GPLv3. Jeff Huang is identified as its maintainer. Research began at Brown University, with recent work and maintenance shared by Pomona College and Brown University. Updates are no longer guaranteed as of February 24, 2026, though community support continues through GitHub Issues. A webcam video dataset with 51 participants is also available for training and evaluating eye-tracking models.
Who it suits
WebGazer.js suits website developers who want to estimate visitor gaze using a webcam and incorporate gaze information into a site experience. It may also suit researchers evaluating eye-tracking models, with its 51-participant webcam video dataset and replaceable prediction components.
What it does well
- Uses a common webcam without special hardware.
- Processes video in the visitor’s browser.
- Self-calibrates from clicks and cursor movement.
- Tracker and regression modules can be swapped.
- Supports Chrome, Edge, Firefox, Opera, and Safari.
- Free under the GPLv3 license.
What to know first
- Webcam access requires the visitor’s consent.
- Updates are no longer guaranteed.
- Adding it requires website code changes.
Getting started
- Open the WebGazer.js website.
- Add the library to a website with a script tag and a few lines of code.
- Request the visitor’s consent before accessing the webcam.
- Choose the tracker and regression modules for the implementation.
Verdict
Choose WebGazer.js if you need browser-based webcam gaze estimates and can integrate a JavaScript library into a website. Its client-side processing and replaceable models are useful for that work. Look elsewhere if guaranteed ongoing updates are essential.
Questions
How much does WebGazer.js cost?
It is free, with a free plan, and no free trial is listed.
Which browsers does it support?
The project lists Chrome, Edge, Firefox, Opera, and Safari.
Does it send webcam video to a server?
It runs in the client browser, so video data does not need to be sent to a server. Webcam access requires user consent.
Is WebGazer.js open source?
The official site lists it under the GPLv3 license.
Who maintains WebGazer.js?
Jeff Huang is identified as the current maintainer. Recent work and maintenance are shared by Pomona College and Brown University.
Can training data persist between sessions?
Yes. It can be saved in the browser using localForage and IndexedDB, and cross-session saving can be disabled.
Facts from WebGazer.js's own pages
- Browser processing
- The library runs entirely in the client browser, so video data does not need to be sent to a server. · webgazer.cs.brown.edu, 7 Oct 2026
- Browsers
- The project lists Google Chrome, Microsoft Edge, Mozilla Firefox, Opera, and Safari as supported browsers. · webgazer.cs.brown.edu, 7 Oct 2026
- Browser support
- The listed supported browsers are Chrome, Edge, Firefox, Opera, and Safari. · webgazer.cs.brown.edu, 7 Oct 2026
- Calibration
- Its model self-calibrates by observing interactions with the page, including clicks and cursor movements. · webgazer.cs.brown.edu, 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. · webgazer.cs.brown.edu, 7 Oct 2026
- Consent
- WebGazer.js requires the user’s consent to access their webcam. · webgazer.cs.brown.edu, 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. · webgazer.cs.brown.edu, 7 Oct 2026
- Data storage
- Training data can be saved between browser sessions in the browser using IndexedDB via localForage. · webgazer.cs.brown.edu, 7 Oct 2026
- Eye tracking components
- Tracker and regression modules can be swapped, and MediaPipe Facemesh is included as the default tracker. · webgazer.cs.brown.edu, 7 Oct 2026
- Founded
- 2016 · webgazer.cs.brown.edu, 28 Sept 2026
- Hardware
- It uses a common webcam and does not require special hardware. · webgazer.cs.brown.edu, 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. · github.com, 7 Oct 2026
- Intended use
- The site describes WebGazer.js as a way for websites to understand visitors and transform their user experience. · webgazer.cs.brown.edu, 7 Oct 2026
- License
- The official site lists WebGazer.js under the GPLv3 license. · webgazer.cs.brown.edu, 7 Oct 2026
- Local data
- Training data can be saved between browser sessions using localforage and IndexedDB; saving across sessions can be disabled. · webgazer.cs.brown.edu, 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. · webgazer.cs.brown.edu, 7 Oct 2026
- Maintenance
- As of February 24, 2026, updates are no longer guaranteed, while community support continues through GitHub Issues. · webgazer.cs.brown.edu, 7 Oct 2026
- Maintenance and support
- As of February 24, 2026, updates are no longer guaranteed, while community support continues through GitHub Issues. · webgazer.cs.brown.edu, 7 Oct 2026
- Modules
- Eye tracking components can be swapped, and the library includes multiple gaze prediction models. · webgazer.cs.brown.edu, 7 Oct 2026
- Prediction models
- The included regression modules are ridge, weightedRidge, and threadedRidge. · webgazer.cs.brown.edu, 7 Oct 2026
- Purpose
- WebGazer.js uses ordinary webcams to estimate web visitors’ gaze locations on a page in real time. · webgazer.cs.brown.edu, 7 Oct 2026
- Use cases
- The site describes the library as a way for websites to understand visitors and transform their user experience. · webgazer.cs.brown.edu, 7 Oct 2026
Where WebGazer.js stands on Freedom251
- Eye Tracking Software#11 of 27