Skip to content
Switch branches/tags


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


Github Actions Status PyPI version Binder

This extension is still in active development. Please report any encountered issue.


jupyterlab-h5web is a JupyterLab extension to explore and visualize HDF5 file contents, using the web-based viewer h5web. h5web supports the NeXus format.

See Usage for more details.


  • JupyterLab 2 (JupyterLab 3 can be used but is not officially supported).


Note: You will need NodeJS to install the extension.

pip install jupyterlab_h5web
jupyter lab build

To enable support for additional filters such as blosc or bitshuffle:

pip install jupyterlab_h5web[full]
jupyter lab build

This will install hdf5plugin in addition to the extension.


This extension enables opening HDF5 files in a JupyterLab tab and exploring HDF5 files in Jupyter notebooks.

In JupyterLab

You can double-click on an HDF5 file or right-click Open with -> h5web to launch a tab.

This tab is composed of a sidebar, where you can explore the structure of the HDF5 file, and of a main area where the visualization of the selected entity takes place. This visualization is controlled by the upper-right button that can toggle between:

  • Display: visualize datasets using Line, Heatmap or Matrix visualizations.
  • Inspect: show the metadata and attributes of any entity

Note: Opening a file this way will fetch the whole file. This is a limitation for heavy files and should be fixed soon.

In Jupyter notebooks

To open a HDF5 file with H5Web, use the H5Web widget in a notebook cell:

from jupyterlab_h5web import H5Web

H5Web('<path to the HDF5 file>')

An example is provided in example.ipynb.

Note: The limitation of the JupyterLab tab does not apply here: the widget will only fetch HDF5 contents on-demand.

Supported file formats

jupyter-h5web detects HDF5 files based on their file extensions. The viewer works for the following extensions:

  • "Classic" HDF5: .h5, .hdf5
  • NeXus: .nexus, .nx, .nxs
  • CXI: .cxi

For other types of files, you can change the extension to one of the supported extensions or, if it is widespread, open an issue to discuss its support.




Check the server extension

If you are seeing the frontend extension but it is not working, check that jupyterlab_hdf is installed and enabled.

It should be listed when running:

jupyter serverextension list

If jupyterlab_hdf does not appear, try to install it manually:

pip install jupyterlab_hdf

and to enable it:

jupyter serverextension enable jupyterlab_hdf

Check the frontend extension

If jupyterlab_hdf is installed and enabled but you are not seeing the frontend, check the frontend is installed:

jupyter labextension list

If it is installed, try:

jupyter lab clean
jupyter lab build


pip uninstall jupyterlab_h5web
jupyter labextension uninstall jupyterlab-h5web