Skip to content


Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Shared Near Infrared Spectroscopy Format (SNIRF)

This repository stores the Shared Near Infrared Spectroscopy Format (SNIRF).
SNIRF is designed by the community in an effort to facilitate sharing and analysis of NIRS data.

View the most recent release version of the format: here.
View the development version of the format: here.

Validating SNIRF files

pysnirf2 is the currently actively maintained tool for reading, writing and validating SNIRF files. pysnirf2 can be easily installed in a Python 3 environment using pip.

See the pysnirf2 README for usage examples.

User Information

To browse the latest version of the SNIRF Specification document, you may click on this link. A history of changes to the specification and information on released versions is available in the change log.

The following software packages support reading and/or writing SNIRF files.

Software Platform URL
FieldTrip MATLAB
MNE-Python Python
pysnirf2 Python

The following vendors export data in SNIRF format.

Vendor URL

Development Information

Please read the procedure for making contributions to SNIRF.

To download the latest specification document alone click on this download link, or use the below command

   git clone

You may optionally download the sample data, or a parser that you need. To do so, you need to first cd the folder where the snirf repository was cloned, and then run the below commands

   cd snirf                                # cd the folder where the repo was cloned
   git submodule update samples            # checkout the sample data files (needs >240MB)
   git submodule update lib/matlab/easyh5  # checkout a specific matlab parsers, or
   git submodule update --init --remote    # checkout all components

To download the entire package at once, including the latest specification document, sample files and all currently supported parsers, you should use the below command

   git clone --recursive

Sample files and parsers

The latest versions of the individual submodules, including sample data and parsers, can also be downloaded by clicking on the the below links. After download, please follow the README file in each package for instructions on how to use.

Submodule URL
sample data
EasyH5 Toolbox
JSNIRF Toolbox

This page provides examples of how to work with SNIRF files using the Homer3 interface.