skip to Main Content

The Neurodata Without Borders: Neurophysiology (“NWB”) format is designed to store a variety of neurophysiology data, including from intracellular and extracellular electrophysiology experiments, optical physiology experiments, as well as tracking and stimulus data.

The NWB format was originally implemented in the Hierarchical Data Format (HDF5), but has since been generalized to accept multiple data storage formats as backends. Regardless of the backend, NWB is designed to store data in a self-documenting way. The storage schema is described by a specification language and it is extensible to support future scientific needs as well as lab-specific requirements.

Format Specification

A specification language was created to define the schema and provide for extensibility. The schema defines each datum’s display name, semantic type, and relationships to other data. Neurophysiologists contributed to the format’s goals and its schema’s design. The collaborating laboratories provided representative use cases and feedback.

Format Specification The NWB format’s functional requirements were determined by representative use cases from the collaborating laboratories.

Application Programming Interface (API)

Python and MATLAB application programming interfaces (API) are provided for data publishers. Files are generated using HDF5, so the HDFView application can be used to view content, and the HDF5 library can be used to access the data.

Write API
Github repository for the Python Write API’s source code and unit tests.
Write API
Github repository for the MATLAB Write API’s source code and unit tests.

NWB Tools

The following is a list of tools that are available to work with the NWB format.

File Diff Tool
Script that compares two files in the NWB format.
Transform MATLAB Data File to HDF5
Janelia Farm
Recursively transforms data in the MATLAB format to a more easily processed HDF5 format.


The Neurodata Without Borders: Neurophysiology Initiative welcomes contributions from the community. Please contact us with your project’s details.

NWB Google Group An open forum for users and developers to interact. Feel free to ask any questions or make suggestions for improvements.
NWB Slack Team An open slack team to interact directly with the developers. Click to join:
8 / 67
Allen SDK
Allen Institute for Brain Science
Software development kit for reading experimental data and running models from the Allen Cell Types Database.
Python Write API for the NWB Format
Allen Institute for Brain Science
Object oriented API for writing to a NWB file.
NWB Jupyter Tutorial
Sean Mackesey
An interactive tutorial in a Jupyter notebook that explains the structure of NWB and takes one through the process of reading and writing an NWB file.
Back To Top