HDF5 Viewer
Open .h5 and .hdf5 files right in your browser. Explore the group hierarchy, inspect datasets and attributes, slice N-dimensional arrays, and render heatmaps, with nothing ever uploaded to a server.
Free, no sign-up, and fully client-side. Your file never leaves your browser. Opens .h5, .hdf5, .hdf, .he5, .nc.
Open the viewer and drop a file to get started.
What is an HDF5 file?
HDF5 (Hierarchical Data Format version 5) is a container for large, heterogeneous scientific data. A single file holds nested groups (like folders), datasets (N-dimensional arrays), and attributes (metadata attached to either). It is used everywhere from machine learning and physics to genomics (.h5ad), climate science, and neuroscience, and files are routinely gigabytes, stored chunked and compressed.
The usual way to peek inside one is to write h5py in a notebook just to check a shape or read a single slice. ViewKit opens the file instantly with a WebAssembly build of the HDF5 library, so you can browse the whole tree and read any slice with zero setup, and because it parses locally, your data never leaves the machine.
What you can do with the HDF5 viewer
Group & dataset tree
Lazily expand the full hierarchy with each dataset’s shape, dtype and attributes shown inline.
N-dimensional slicing
Map any two axes to a table or heatmap and scrub the rest. Only the selected hyperslab is read, so large arrays stay responsive.
Chunking & compression
See chunk shapes and the compression filters (gzip, szip, shuffle…) a dataset uses.
Rich data types
float16, complex numbers, compound/structured records, enums, booleans and 64-bit integers all render correctly.
How to open a HDF5 file
- 1
Drop your .h5 or .hdf5 file onto the box above (or click to browse). It is read in your browser, nothing uploads.
- 2
Browse the group tree and click a dataset to inspect its shape, dtype, attributes and compression.
- 3
Toggle between a data table and a heatmap, and use the dimension slicer to read any 2-D slice of an N-D array.
Doing the same thing in code
The same information from a script, using h5py:
import h5py
with h5py.File("data.h5", "r") as f:
f.visit(print) # every group and dataset path
ds = f["train/images"]
print(ds.shape, ds.dtype, ds.chunks)
print(dict(ds.attrs)) # attributes on that dataset
print(ds[0, :10]) # read one slice, not the whole arrayh5py requires a Python environment, and it must be built against a compatible HDF5 library. Use it when you need the array in memory for further work. This page covers the case where you only need to see what the file contains.
HDF5 viewer: frequently asked questions
Can I open .h5ad (AnnData) files?
Yes, .h5ad is HDF5 under the hood, so you can open it and browse its groups (X, obs, var, layers, …) like any other HDF5 file.
Can I open MATLAB .mat files?
MATLAB v7.3 files are HDF5 underneath, so they open and browse like any other .h5 file. Files saved in the older v7 format and earlier use MATLAB’s own layout and will not open.
Does it open NetCDF (.nc) files?
NetCDF-4 files are HDF5 containers, so they open and browse normally, including their dimensions and attributes. Older NetCDF-3 “classic” files use a different binary layout and will not open.
Why do I get “Unable to open file (file signature not found)”?
The first bytes of the file are not the HDF5 signature. Common causes are a truncated file, a file still being written, an unfetched Git LFS pointer, or a file in another format with an .h5 extension. Opening it here reports the same problem.
What do the chunk shape and filters tell me?
Chunking is how a dataset is split on disk, and it determines the cost of a partial read. A dataset chunked (1, 512, 512) reads a single image from one chunk; the same data chunked (1000, 1, 1) would touch every chunk for that read. The filter list (gzip, szip, shuffle and so on) shows what must be decompressed on each read. Both affect how much data is read for a given slice.
Is my HDF5 file uploaded anywhere?
No. The file is parsed in your browser with WebAssembly; its contents are never uploaded, logged or sent to a server.
How large a file can it open?
It reads only the slice you are viewing rather than the whole array, so large files open quickly. Very large files are ultimately bounded by your browser tab’s available memory.
Which extensions are supported?
The HDF5 viewer opens .h5, .hdf5, .hdf and .he5, as well as NetCDF-4 (.nc), which is built on HDF5.