Home / Science / Social sciences / Cognitive science / Eye-tracking heat mapTool #728

Eye-tracking heat map and fixation finder: I-VT, I-DT, scanpath and areas of interest (free, in your browser)

Open a gaze export (time, x, y), find fixations with the velocity (I-VT) or dispersion (I-DT) method, and see a heat map and scanpath over your own stimulus picture. Draw areas of interest to get dwell time, time to first fixation, fixation counts and visits. Download CSV and PNG. Nothing is uploaded.

Keep it one tap away for everyday use.

Bookmark Eye-tracking heat map?

Press Ctrl + D now. Your browser opens its own bookmark box, where you choose the name and folder.

  1. Gaze data
  2. Fixations
  3. Heat map
  4. Areas
Nothing is uploadedWorks offline once open

Gaze data

I-VT calls a sample part of a fixation when the eye moves slower than the speed limit. I-DT calls a window of samples a fixation when it lasts the shortest fixation time and its spread (x range + y range) stays within the dispersion limit. To turn degrees into pixels, multiply by your pixels per degree: 30 °/s at 35 px per degree is about 1,050 px/s. Rows with blank or non-number cells are skipped; a gap of more than 100 ms ends a fixation.

Picture and areas of interest

Optional. The picture stays on your device.

The picture's own size is used when you open one. Coordinates must be in the same pixels as the picture or screen the gaze was recorded on.

What it does

Eye trackers record where someone looks many times a second. Those raw samples are noisy: the eye rests on a spot for a few hundred milliseconds (a fixation), then jumps (a saccade). This tool turns an exported gaze file into fixations, draws a heat map of where attention went, draws the scanpath (the order of fixations), and measures areas of interest (AOIs) such as a logo, a headline or a button. It works with the CSV or text export of most eye trackers and webcam trackers. Your gaze file and your stimulus picture are read in the browser and never leave your device.

It works well with the publication plot maker, the reliability and agreement and the reaction time experiments.

How to use it

  1. Gaze data. Paste or open a file with one row per sample: time, x and y. A header row lets the tool find columns named like time, timestamp, gaze_x, x, y and duration; without a header it reads time, x, y (and duration) in that order. Set the time unit (milliseconds, seconds or microseconds) and whether coordinates are pixels or 0 to 1 of the screen.
  2. Already have fixations? Choose “Fixations” and give x, y, start time and duration per row; detection is then skipped.
  3. Fixation method. I-VT (velocity threshold) marks each sample slower than the speed limit as part of a fixation; runs of slow samples become one fixation at their average position. I-DT (dispersion threshold) takes a window that lasts at least the shortest fixation and keeps it as a fixation while its spread (x range plus y range) stays within the dispersion limit. The shortest fixation drops very brief stops. A gap of more than 100 ms in the samples (a blink or lost tracking) ends a fixation.
  4. Picture. Open the stimulus picture the person looked at; its pixel size is used for the map. Without one, enter the screen size.
  5. Heat map blur σ sets how far each fixation spreads; heat weight chooses duration (longer looks count more) or count. Tick heat map, scanpath and areas to show or hide each layer.
  6. Areas of interest. Type one rectangle per row (name, left x, top y, right x, bottom y) or drag across the picture to add one.
  7. Download fixations and areas as CSV, the map as a PNG at the picture’s own size, or the whole report as PNG, PDF or Word.

What the numbers mean

  • Dwell time: total duration of fixations inside the area. Share is that as a percentage of all fixation time.
  • Time to first fixation: from the first sample of the recording to the start of the first fixation inside the area. “Never” means no fixation landed there.
  • Visits: how many separate times the gaze entered the area (a run of fixations inside counts once).
  • Saccade length and scanpath length: straight-line distances between successive fixation centres, in pixels.

Worked example

The made-up recording has 153 samples at 60 Hz on an 800 × 600 screen. With I-VT at 1,000 px/s and a shortest fixation of 60 ms, the tool finds 7 fixations, mean 279 ms. The Logo area (100, 80 to 220, 180) gets 2 fixations and 567 ms of dwell time (29.1 % of fixation time) over 2 visits, first fixated 350 ms into the recording. The Photo area gets 1 fixation of 450 ms, first reached at 1,150 ms. Switch to I-DT with a 40 px limit and 100 ms shortest fixation and you still get 7 fixations, a little longer each because I-DT keeps the edge samples.

Tips

  • Thresholds depend on your tracker’s sampling rate and noise. Common starting points are about 30 °/s for I-VT and 1° of dispersion for I-DT; convert degrees to pixels with your setup’s pixels per degree.
  • Low sampling rates (30 Hz webcams) need a longer shortest fixation and a looser threshold.
  • Compare people with the same thresholds, and report the method and settings with your results.

Frequently asked questions

Is my data or picture uploaded? No. Both are read in your browser, and the page works offline once loaded.

Can I combine several participants? Paste their fixations one after another with the “Fixations” option; the heat map then shows everyone together. Scanpath order will join across people, so hide the scanpath.

Why does the heat map look blocky? It is worked out on a grid about 400 cells across and smoothed when drawn. A larger blur σ gives a smoother map.

Where the numbers come from

  • Fixation detection: Salvucci, D. D. and Goldberg, J. H. (2000), Identifying fixations and saccades in eye-tracking protocols (I-VT and I-DT). Method only; no data or tables are copied.
  • Heat map: a duration-weighted Gaussian kernel, the usual attention map. Written by fibub and checked in the tests against an independent NumPy implementation of I-VT, I-DT, the heat map and the area measures.
  • The example gaze recording is made up.

Standard scientific values, such as constants, atomic weights and melting points, are facts found in every textbook; we name where ours were checked. If you are an author or publisher and want a value, a credit or a table changed or removed, tell us and we will act quickly.

Last updated 2026-11-09.

Related tools

Reliability and agreement #40 Check a questionnaire scale with Cronbach's alpha and item statistics, or rater agreement with Cohen's kappa (weighted too), Fleiss' kappa and all six intraclass correlations with 95 % intervals. Matches R's psych package. Publication plot maker #27 Paste columns or open a CSV or Excel file and get a clean scientific figure with error bars, sized for a journal column. Download vector SVG or PDF, or PNG at 300 or 600 dpi. Your data stays in your browser. Reaction time experiments #722 Run a Stroop, Eriksen flanker or n-back task in your browser with keys or touch. Get mean and median reaction times on correct trials, accuracy, the congruency effect or n-back d′, with trimming rules and a CSV of every trial. Memory and attention tasks #727 Run a digit span or Corsi block test (forward or backward), a visual search task with search slopes, and simple or choice reaction time, in the browser. Get scores, a results table for the session and a CSV of every trial. Neural network toys #729 Two classic neural network models to play with in the browser. Click points and watch a perceptron move its decision line epoch by epoch, converging on AND and OR and failing on XOR. Draw small black-and-white patterns, store them in a Hopfield network and recall them from a noisy cue while the energy falls. 1D Schrödinger solver #923 Choose a textbook potential, type a formula or draw your own, and get the lowest energy levels and wavefunctions of the one-dimensional Schrödinger equation by the matrix (finite-difference) method, with the exact levels alongside for the box, harmonic oscillator, finite well, Morse, linear and Pöschl–Teller potentials.