Simply EEGLAB

.set and .fdt files

Station 1 · Lesson 5 · EEGLAB 2026.1

In the GUI

  1. FileSave current dataset as eeglab_data.set
  2. Save
  3. FilePreferences
  4. If set, save not one but two files for each dataset (header and data).
  5. CancelOK

Script

[ALLEEG, EEG, CURRENTSET, ALLCOM] = eeglab;
sampleFolder = fullfile(fileparts(which('eeglab')), 'sample_data');
EEG = pop_loadset('filename', 'eeglab_data.set', 'filepath', sampleFolder);
EEG.datfile                                 % 'eeglab_data.fdt'
dir(fullfile(sampleFolder, 'eeglab_data.*'))   % the .fdt and the .set
myFolder = 'C:\Users\me\Documents\eeg-course';   % change it
EEG = pop_saveset(EEG, 'filename', 'D1_copy.set', 'filepath', myFolder);
dir(fullfile(myFolder, 'D1_copy.*'))           % D1_copy.fdt and D1_copy.set
EEG = pop_saveset(EEG, 'filename', 'D1_onefile.set', 'filepath', myFolder, ...
    'savemode', 'onefile');
dir(fullfile(myFolder, 'D1_onefile.*'))        % D1_onefile.set only, about 4 MB

Which value should I choose?

ChoiceWhenWhat you get
Two files (the default in 2026.1)Almost always, and with a STUDY in station 8, because EEGLAB reads the description alone quickly.name.set and name.fdt, always together
One file (untick the option in File > Preferences and click OK, or 'savemode', 'onefile')You want to email one dataset or copy it without forgetting a file.name.set only

Check

  • sample_data has eeglab_data.set and eeglab_data.fdt, and EEG.datfile gives 'eeglab_data.fdt' after loading the sample
  • Your folder has D1_copy.set (about 0.35 MB) and D1_copy.fdt (about 3.9 MB)
  • If you ran the script: D1_onefile.set alone, about 4 MB
  • D1_copy.set opens with File > Load existing dataset and shows 32 channels and 154 events

Full lesson: https://simplyeeglab.pages.dev/en/lesson/set-fdt-files/

Content license: CC BY-NC-SA 4.0 · MIT (code)

An independent learning site, not affiliated with EEGLAB or SCCN.