GUI viewers for HDF5 / NetCDF4 data

HDF5 is a popular data container format, a filesystem with a file. While the many programs supporting HDF5 like Matlab can manually plot data, it is useful to have a standalone simple data browser.

The canonical HDF5 / NetCDF4 / FITS capable HDFview is maintained by the HDF Group. HDFview enables editing (writing) as well as reading HDF5. MacOS, Windows and Linux users can simply download the HDFview binaries. Linux users can alternatively do like apt install hdfview, but be aware some distros have broken HDFview. If the Linux distro HDFView is broken, simply download the CentOS HDFView binary–it will work on Ubuntu / Debian as well.


The PyTables group maintains ViTables is a Python-based HDF5 viewing program based on PyQT5. PyTables may be installed liek:

pip install pyqt5 vitables

The Java program PanoplyJ is available for MacOS, Linux and Windows. PanoplyJ does not require compiling, just run it using Java. Linux PanoplyJ requires Java 8 or newer, and can also work with Java 9.

apt install openjdk-8-jre

Extract PanoplyJ and make executable:

unzip PanoplyJ*.zip -d ~

chmod +x ~/PanoplyJ/panoply.sh

Run PanoplyJ by:

~/PanoplyJ/panoply.sh

Make a command-line shortcut by adding to ~/.bash_aliases

alias panoply='$HOME/PanoplyJ/panoply.sh'

If you get:

Unknown superblock version=3

You may have an older version of PanoplyJ whose NetCDF-Java library isn’t ready for the newer HDF5 file version. If writing the HDF5 files from h5py use libver=earliest to use the oldest possible HDF5 file API:

with h5py.File('myfile.h5', libver='earliest') as f:
   ....

Check HDF5 files for corruption