What the validator checks
The tool distinguishes EDF by its ASCII version field and BDF by the 0xFFBIOSEMI signature. It checks the 256-byte main header, 256 bytes of metadata per signal, printable header text, start date/time, channel count, samples per record, record duration, physical and digital extrema, storage range, data-record byte size, declared record count, partial trailing records, and the actual file boundary.
EDF+ and BDF+ annotations
Continuous and discontinuous plus dialects are identified from EDF+C, EDF+D, BDF+C, or BDF+D. The validator locates the exact annotations signal, parses each time-stamped annotation list within its record boundary, enforces signed onset and unsigned duration grammar, decodes annotation text as UTF-8, and checks the first time-keeping TAL in every record.
Signal overview and calibration
EDF ordinary samples are signed little-endian 16-bit integers; BDF samples are signed little-endian 24-bit integers. The overview scans all samples in small files and uses a disclosed stride for larger recordings. The physical span is calculated from the header’s linear digital-to-physical mapping. It is evidence about stored values—not an assessment of physiology, sensor placement, acquisition quality, or diagnosis.
Strictly structural boundary
This validator is not medical software and provides no clinical interpretation. It does not diagnose conditions, identify artifacts, classify events, verify electrode placement, infer units, validate sensor calibration, replace a complete EDF/BDF library, or certify a recording for research or care. Confirm results with trusted domain software and qualified scientific or clinical review.
Frequently asked questions
Why can channels have different sample rates?
Each signal declares its own samples per data record. Dividing that value by the shared record duration produces the nominal channel rate.
Why does EDF+D or BDF+D have timing gaps?
The D dialect explicitly permits discontinuities between records. Its time-keeping annotations preserve each record’s onset instead of assuming a continuous timeline.
Does the graph show the full medical signal?
No. It is a bounded structural overview of stored numeric ranges. Large recordings use a disclosed sampling stride, and the graph has no diagnostic meaning.
Authoritative references
The official EDF specification defines the fixed header, per-signal metadata, record layout, 16-bit samples, and calibration mapping. The official EDF+ specification defines continuous/discontinuous markers, annotation channels, TAL grammar, UTF-8 annotation text, and record timekeeping. BioSemi documents the BDF signature, headers, and signed 24-bit samples.
Inspect a SAC waveform · Inspect miniSEED 3 records · Browse scientific-data tools