The BDF Specification
A simple, universal format for battery data. Just 3 required fields to get started, with optional extensions for any use case.
Core Principles
Single Cell per File
Each file contains time-series data for exactly one cell. Multiple files can describe the same cell.
Fixed SI Units
Units are locked to the spec — no conversion needed. Volts, Amps, Seconds, and so on.
Clear Column Headers
Headers follow 'Quantity / Unit' format (e.g. 'Voltage / V') so the data is self-describing.
Machine Readable
Every column has a human-readable label and a machine-readable name linked to the BDF standard vocabulary.
Required Fields
The essentials - every BDF file needs these
Elapsed time since test start
test_time_secondInstantaneous voltage measured
voltage_voltInstantaneous current applied
current_ampereRecommended Fields
Strongly encouraged for most use cases
Timestamp in Unix format
Monotonically increasing cycle index
Step index within program
Environmental temperature
Optional Fields
Extend BDF for your specific needs
Capacity
5Energy
5Temperature
5Other
4File Formats
Supported Extensions
.bdf.csvCSV format - human readable, easy to inspect.bdf.parquetParquet format - fast, compact, great for large datasets.bdf.gzCompressed - for archival and transferNaming Convention
Start Using BDF Today
Install the Python package and convert your first dataset in minutes.