Home   Coregistration tutorial   Test datasets   Papers using EYE-EEG   News


Open source MATLAB tool for simultaneous eye tracking & EEG

NEW: New version 0.8 of EYE-EEG ready for download!

New version (0.80) available for download

New features in v0.80:

What is the EYE-EEG toolbox?

The EYE-EEG toolbox is an extension for the open-source MATLAB toolbox EEGLAB developed to facilitate integrated analyses of electrophysiological and oculomotor data [1]. The toolbox parses, imports, and synchronizes simultaneously recorded eye tracking data and adds it as extra channels to the EEG.

Saccades and fixations can be imported from the eye tracking raw data or detected with an adaptive velocity-based algorithm [2]. Eye movements are then added as new time-locking events to EEGLAB's event structure, allowing easy saccade- and fixation-related EEG analysis (e.g., fixation-related potentials, FRPs). Alternatively, EEG data can be aligned to stimulus onsets and analyzed according to oculomotor behavior (e.g. pupil size, microsaccades) in a given trial. Saccade-related ICA components can be objectively identified based on their covariance with the electrically independent eye tracker [3].

EYE-EEG adds a top-level menu called Eyetracker to EEGLAB. All functions can be accessed via this menu and are saved in EEGLAB's command history. Alternatively, functions can be called from the command line, providing advanced users with the option to use them in custom scripts. Using EEGLAB's export functions, integrated datasets may also be exported to other free toolboxes like Fieldtrip or Brainstorm.

EYE-EEG was written by Olaf Dimigen & Ulrich Reinacher in Werner Sommer's Biological Psychology lab at Humboldt University Berlin.

Why combine eye tracking & EEG?

Everyday vision is an active process that involves making several saccades per second. In contrast, most EEG data is recorded during prolonged visual fixation. An alternative approach to signal analysis (for an overview see [1]), is to time-lock the EEG not to passive stimulus presentations, but to the on- or offsets of saccadic eye movements in more natural viewing situations (yielding saccade- and fixation-related potentials, SRPs/FRPs). However, recording precise eye movements together with the EEG is also useful for many other purposes. These include controlling fixation, detecting signal distortions from microsaccades (e.g., [4]), improving ocular artifact correction [1, 3], measuring saccadic reaction times, presenting stimuli gaze-contingently [5, 6], simultaneous pupillometry, or improving brain-computer interfaces.

Overview over functions

Import & synchronize
Reject data based on eye position
Apply functions to selected channels
Detect saccades & fixations
Classify independent components
Eye-movement related potentials

For details, please see the tutorial.




Currently, the toolbox reads text-converted raw data from eye trackers by SR Research (e.g., EyeLink™-series), Sensomotoric Instruments (e.g., iView X™ and RED™-series) and Tobii Pro (e.g. Tobii Pro TX-300 or Pro Spectrum). If EEG and eye track are already synchronized (see Tutorial: How to connect eye tracker & EEG), the toolbox can also be used to further process data recorded with other eye tracking hardware. There are no known limitations regarding EEG hardware, since EEGLAB imports most EEG formats.

Download & Installation

Disclaimer: The current version of the EYE-EEG toolbox is version 0.80 (i.e. Beta). Not all functions of future releases are guaranteed to be backwards compatible with this version and function inputs and data formats may undergo some changes and improvements in future version, meaning that you may have to slightly update your scripts if a future version comes out. Versions following 1.00 will be guaranteed backwards compatibility.
Installation is simple

  1. Go to the download page. Download a .zip archive containing a folder with the toolbox files and a PDF of the reference paper
  2. Unzip and move the entire folder into EEGLAB’s "plugins" directory. Inside this directory, you should now have a subdirectory called "eye_eeg0.80".
  3. Start EEGLAB. It should automatically recognize and add the plug-in. You should see the following line appear in your MATLAB window:

>> EEGLAB: adding "eye_eeg" plugin version 0.80 (see >> help eegplugin_eye_eeg)

That's it. EEGLAB now has an additional menu called "Eyetracker":

Alternatively, you can download EYE-EEG from within the EEGLAB user interface using the EEGLAB extension manager. Or you can download it from the Github repository for EYE-EEG

EEGLAB with additional eye tracker menu

Getting started

To get started, read the step-by-step tutorial or try out the toolbox with example data.

Citing the EYE-EEG toolbox

This is free software distributed under the GNU General Public License. However, we do ask those who use this program or adapt its functions to cite it in their work. Please refer to it as the "EYE-EEG toolbox", include a link to this website (http://www2.hu-berlin.de/eyetracking-eeg), and cite reference [1] below.
If you use the saccade detection, please additionally cite reference [2]. If you select independent components based on the variance ratio criterion, make sure to also cite reference [3]. Important note: EYE-EEG contains modifications, improvements, and/or additional options for these procedures, which go beyond those proposed in the original papers. It is therefore important that you clarify that you have used the implementations of these methods in EYE-EEG.


For bug reports, feature requests, and all other feedback please email us. We'd be happy to hear of any papers you have written or insights you have gained using EYE-EEG. We also welcome any collaboration in improving the tools, adding features, or supporting additional eye trackers.


The initial development of this software was made possible by a German Research Foundation grant to DFG Research Group 868, project A2: The timeline of word recognition and oculomotor control in reading. Project publications using combined eye tracking and EEG can be found here.


  1. Dimigen, O., Sommer, W., Hohlfeld, A., Jacobs, A., & Kliegl, R. (2011). Coregistration of eye movements and EEG in natural reading: Analyses & Review. Journal of Experimenta Psychology: General, 140 (4), 552-572 [toolbox reference paperPDF]
  2. Engbert, R., & Mergenthaler, K. (2006). Microsaccades are triggered by low retinal image slip. PNAS, 103 (18), 7192-7197
  3. Plöchl, M., Ossandon, J.P., & König, P. (2012). Combining EEG and eye tracking: identification, characterization, and correction of eye movement artifacts in electroencephalographic data. Frontiers in Human Neuroscience, doi: 10.3389/fnhum.2012.00278
  4. Dimigen, O., Valsecchi, M., Sommer, W., & Kliegl, R. (2009). Human microsaccade-related visual brain responses. J Neurosci, 29, 12321-31
  5. Dimigen, O., Kliegl, R., & Sommer, W. (2012). Trans-saccadic parafoveal preview benefits in fluent reading: a study with fixation-related brain potentials. Neuroimage, 62 (1), 381-393
  6. Kornrumpf, B., Niefind, F., Sommer, W., & Dimigen, O. (2016). Neural correlates of word recognition: A systematic comparison of natural reading and RSVP. Journal of Cognitive Neuroscience, 28:9, 1374-1391