iTrace
iTrace is an open-source webcam eye-tracking analysis toolkit with a scientific analysis core built on NumPy and SciPy.
What iTrace is
iTrace is an open-source webcam eye-tracking analysis toolkit with a scientific analysis core built on NumPy and SciPy. It computes gaze in degrees of visual angle and detects fixations, saccades, and microsaccades using I-VT, I-DT, and Engbert–Kliegl methods. Pupil tools cover blink detection and interpolation, preprocessing, and eye-crop segmentation reported in pixels or relative to iris size. Affine screen-space calibration reports calibration error and gaze-quality measures. Optional webcam capture uses OpenCV and MediaPipe iris landmarks; optional interfaces include a local HTML app using FastAPI and WebSockets and a Streamlit dashboard. The command-line tool analyzes gaze CSV files and exports JSON reports, while camera workflows can record gaze and pupil CSV data. By default, exports omit raw eye video and persisted eye-crop images, though live viewing may send a transient JPEG crop to a browser over a local WebSocket. The project says its checks use synthetic ground truth, not real eye-tracking data or a reference device. Live webcam pupil measurement is a relative proxy, not a diameter in millimetres; it is released under the MIT license.
Good
- MIT-licensed open-source software.
- Detects fixations, saccades, and microsaccades.
- Can export derived data as CSV and JSON.
- Default exports omit raw eye video.
Watch out
- Not validated against real eye-tracking data.
- Webcam pupil measurement is only a relative proxy.
- No bundled real-device validation is claimed.
Who it suits
iTrace may suit science and research users exploring eye-movement estimation methods with webcam capture or gaze CSV data. It is best treated as a reference implementation, with comparison to a reference device or public dataset before making device-level accuracy claims.
Verdict
iTrace provides analysis methods, optional capture, and local interfaces for eye-movement work. Its stated validation and measurement limits mean results should not be presented as device-level accuracy without external comparison.
Plans and prices
From iTrace's own pricing page, checked 10 Oct 2026.
| Plan | Price | What it gives you |
|---|---|---|
| iTrace (MIT-licensed open-source software) | Free | MIT license · Python package |
The facts
Each one read from iTrace's own pages, with the date it was checked.
What it does
- Accuracy limit
- The live webcam pupil measurement is a relative proxy and does not infer pupil diameter in millimetres.checked 9 Oct 2026
- Accuracy limitation
- The project states that live webcam pupil measurements are a relative algorithmic proxy and do not infer millimetres.checked 10 Oct 2026
- Analysis core
- The scientific analysis core uses NumPy and SciPy, with webcam capture provided as an optional layer.checked 10 Oct 2026
- Analysis methods
- Its analysis includes I-VT and I-DT event detection, Engbert–Kliegl microsaccade detection, and pupil blink detection and interpolation.checked 10 Oct 2026
- Calibration
- It supports affine screen-space calibration and reports calibration error and gaze-quality measures.checked 9 Oct 2026
- Capture and interfaces
- Optional components use OpenCV and MediaPipe for capture, FastAPI and WebSockets for a local HTML interface, and Streamlit with Plotly for a dashboard.checked 10 Oct 2026
- Capture integrations
- Optional webcam capture uses OpenCV and MediaPipe Face Mesh iris landmarks.checked 9 Oct 2026
- Data handling
- The README says the default export writes derived gaze, pupil, and capture CSVs without writing raw eye video or persisted eye-crop images.checked 10 Oct 2026
- Exports
- The live app can export derived gaze, pupil, and capture-record CSVs plus a JSON analysis report; its default workflow does not save raw eye video or persisted eye-crop images.checked 9 Oct 2026
- Gaze and events
- It computes gaze in degrees of visual angle and detects fixations, saccades, and microsaccades using I-VT, I-DT, and Engbert–Kliegl methods.checked 9 Oct 2026
- Inputs and outputs
- The CLI can analyze gaze CSV files and export JSON reports, and can record gaze and pupil CSV data from a camera.checked 10 Oct 2026
- Install options
- The README documents Python installation through uv, with capture, dashboard, figures, and web components available as optional extras.checked 9 Oct 2026
- Integrations
- The project lists OpenCV, MediaPipe, FastAPI, Uvicorn, Streamlit, Plotly, and Matplotlib as optional dependencies.checked 10 Oct 2026
- Intended audience
- The package metadata identifies science and research as its intended audience.checked 10 Oct 2026
- License
- The software is released under the MIT License.checked 10 Oct 2026
- Live interfaces
- Optional interfaces include a local FastAPI and WebSocket HTML app and a Streamlit dashboard.checked 9 Oct 2026
- Pupil analysis
- Pupil tools include blink detection and interpolation, preprocessing, and eye-crop segmentation that reports pixel or pupil-to-iris-relative size.checked 9 Oct 2026
- Purpose
- iTrace is a webcam eye-movement analysis toolkit for gaze, saccades, microsaccades, and pupil measurements.checked 10 Oct 2026
- Security and privacy
- The project describes its default export as privacy-preserving and says live viewing may send a transient JPEG eye crop to the browser over a local WebSocket.checked 10 Oct 2026
- Use case
- The README presents it as a reference implementation of eye-movement estimation algorithms and advises comparison with a reference device or public dataset before reporting device-level accuracy.checked 9 Oct 2026
- Validation limit
- The project says it is algorithmically verified against synthetic ground truth but has not been validated against real eye-tracking data or a reference eye tracker.checked 9 Oct 2026
- Validation limitation
- The README says its synthetic and closed-loop checks are not real-device validation and that no bundled real-device validation is claimed.checked 10 Oct 2026
The full review of iTrace
iTrace is an open-source Python toolkit for analysing gaze and pupil data, with optional webcam capture and browser-based local interfaces. It suits researchers and developers who need inspectable algorithms and can separate exploratory measurement from validated eye-tracking. Its strongest case is as a reference implementation and analysis workbench, not as a replacement for dedicated hardware.
Overview
The NumPy and SciPy core accepts gaze CSV files through a command-line workflow, calculates gaze in degrees of visual angle, and identifies fixations, saccades, and microsaccades. Capture is optional, so users with existing recordings can use the scientific layer without adopting the webcam components. Local FastAPI/WebSocket and Streamlit interfaces add browser viewing and dashboard-based inspection.
Its central limitation is measurement validation. The project reports algorithmic checks against synthetic ground truth, but not validation against real eye-tracking data or a reference tracker. It is consequently appropriate for method development and controlled comparisons; claims of device-level accuracy require comparison with a reference device or public dataset.
Key features
Gaze events and inspection
I-VT and I-DT methods detect fixations and saccades, while Engbert–Kliegl handles microsaccades. Visualisations include gaze traces, x/y time series, speed plots, event rasters, scanpaths, direction polar plots, amplitude histograms, and main-sequence scatter. That range lets researchers examine both raw trajectories and derived event structure rather than relying on a single summary.
Pupil processing
Tools cover blink detection and interpolation, preprocessing, and eye-crop segmentation. Size is reported in pixels or relative pupil-to-iris terms, which is useful for within-session or comparative analysis. Webcam pupil output is only a relative proxy and does not infer diameter in millimetres, so it is unsuitable when absolute physiological measurement is required.
Capture, interfaces, and exports
Optional capture uses OpenCV and MediaPipe Face Mesh iris landmarks. A local FastAPI and WebSocket HTML app, plus a Streamlit dashboard using Plotly, provide live views. The live workflow exports derived gaze, pupil, and capture-record CSV files together with a JSON analysis report. By default it does not save raw eye video or persistent eye-crop images; live viewing may send a transient JPEG crop to the browser over a local WebSocket, a sensible privacy posture for local work.
Pricing
iTrace is free and released under the MIT license. The sole plan, iTrace (MIT-licensed open-source software), costs free and is delivered as a Python package. There are no paid tiers, seat charges, quotas, renewal terms, or trial expiry to weigh. The trade-off is that users take on their own installation and validation work. Python installation is documented through uv, with capture, dashboard, figures, and web components supplied as optional extras, so a minimal analysis setup need not include the larger interface stack.
Platforms
The package targets Linux and self-hosted use, with a web browser available through the local HTML interface. Webcam input is the capture method. This is a practical fit for teams comfortable running Python services locally; it is not a hosted cross-device product with managed deployment.
Who it's for
Science and research users get transparent event-detection and pupil-processing methods, CSV/JSON interchange, and plots suited to algorithm comparison. Developers can use the separation between the NumPy/SciPy core and optional capture layer as a foundation for experiments. It is a poor choice for studies that need certified or reference-matched accuracy, millimetre pupil values, or turnkey participant operations without technical setup.
Pros and cons
Pros
- Open MIT licensing: the code and Python package can be adapted without subscription cost.
- Method breadth: I-VT, I-DT, Engbert–Kliegl, blink interpolation, and multiple diagnostic plots support serious exploratory analysis.
- Flexible data paths: analyse existing gaze CSV files or add optional webcam capture and local dashboards.
- Privacy-conscious defaults: derived exports omit raw eye video and stored eye-crop images.
Cons
- No real-device validation: synthetic and closed-loop checks do not establish performance against an eye tracker.
- Relative pupil proxy: webcam measurements cannot provide millimetre pupil diameter.
- Technical deployment: Linux, Python, optional extras, and self-hosted services suit technical users more than turnkey teams.
- Webcam dependence: capture quality and interpretation are bounded by a camera-based approach rather than dedicated hardware.
Alternatives
Choose GazePlotter instead when you want a free, GPLv3 open-source tool spanning Android, iOS, Linux, macOS, web, and Windows. Labvanced is the better fit for a hosted freemium research workflow with a free allowance of 300 MB, 10 recordings, and one active recruiting link, plus a trial. For non-commercial webcam use across Android, iOS, web, and Windows, consider GazeRecorder.
Hawkeye suits iOS and web users who prefer a managed freemium service (one project and five sessions on its free plan). Linux users seeking an open-source gaze tracker that requires a webcam and Linux build dependencies can choose OpenGazer. PyGaze is a free open-source Python toolbox for Linux, macOS, and Windows. Pick Chiasm when browser/API delivery and pay-per-use participant minutes are preferable. OGAMA is a free, open-source Windows alternative.
Verdict
iTrace is recommended for researchers and developers building or comparing eye-movement analysis methods who value open code, local operation, and broad event and pupil tooling. Its decisive advantage is a capable, modular scientific core at no cost. Look elsewhere when your project needs real-device validation, absolute pupil measurements, or a turnkey hosted workflow; iTrace itself makes those boundaries clear.
Getting started
- Open the iTrace GitHub project
- Install the Python package through uv
- Add optional capture, dashboard, figures, or web components as needed
- Supply gaze CSV data or connect a webcam capture workflow
- Use the local HTML app or Streamlit dashboard when installed
- Export derived CSV files or a JSON analysis report
Limits worth knowing
The webcam pupil result reports relative size and does not infer diameter in millimetres. The project’s checks use synthetic ground truth and closed-loop tests rather than real-device validation.
Questions
Is iTrace free?
Yes. It is released as MIT-licensed open-source software, with the listed plan listed as free.
Which platforms does iTrace support?
It supports Linux, self-hosted use, and web access through its local HTML interface.
What can iTrace export?
The workflows export gaze, pupil, and capture CSV files, plus JSON analysis reports.
Does iTrace save eye video?
Its default export does not save raw eye video or persistent eye-crop images. Live viewing may send a transient JPEG eye crop to a browser over a local WebSocket.
How is webcam capture implemented?
Optional capture uses OpenCV and MediaPipe Face Mesh iris landmarks.
Alternatives to iTrace
- 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

Labvanced
Free planWebAPIExtensionLinux6.5Free plan
