A simple file reader for European Data Formatted (EDF-) files.
Updated 5 Aug 2020

View License

Editor's Note: This file was selected as MATLAB Central Pick of the Week

The edfRead() functionality in this submission is now officially provided by the Signal Processing Toolbox as of R2020b. This File Exchange submission is no longer supported

Read European Data Format file into MATLAB

[hdr, record] = edfread(fname)
Reads data from ALL RECORDS of file fname ('*.edf'). Header information is returned in structure hdr, and the signals (waveforms) are returned in structure record, with waveforms associated with the records returned as fields titled 'data' of structure record.

NOTE: Support for this function is being deprecated. Please see:

[...] = edfread(fname, 'assignToVariables', assignToVariables)
Triggers writing of individual output variables, as defined by field 'labels', into the caller workspace.
[...] = edfread(fname, 'targetSignals', targetSignals,...)
Allows the user to specify by name or index the subset of signals to import.

PLEASE NOTE: I have also uploaded on the File Exchange EDFReadUntilDone. If you have problems reading large files with EDFRead, please download and try that one!
FORMAT SPEC: Source: http://www.edfplus.info/specs/edf.html

Cite As

Brett Shoelson (2024). edfRead (https://www.mathworks.com/matlabcentral/fileexchange/31900-edfread), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2011a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes

Added mention of the blog about edfread in the Signal Processing Toolbox.

Same bug fix in name of file.
Modified the description to cite EDFReadUntilDone. No code changes.

Minor bug fix in name of file.

Fixed a problem triggered by the license conversion on Sept.1, 2016.
Also, I have tried to address the out-of-spec value of -1 for numberOfFiles seen in some edf files.

Updated license

Enabled the import of a user-specified subset of signals. Also fixed a problem when signal labels include spaces or difficult-to-interpret characters.

Fixes a problem with incorrect reading of variable-length signals.

Added copyright.