h5v
Install v0.9.0
A terminal-first HDF5 explorer for charts, matrices, images, compound schemas, and scripted workflows.
curl -fsSL https://raw.githubusercontent.com/DanielHauge/h5v/main/install.sh | sh
The shell installer works on Linux, macOS, and POSIX-style Windows shells such as Git Bash, MSYS2, and Cygwin.
h5v is a Rust TUI for inspecting HDF5 files in the terminal: browse the tree, switch between preview, matrix, and heatmap views, inspect image datasets inline, drill into compound fields, edit attributes in write mode, and script startup workflows.
What it looks like
| Charts | Heatmap | Images |
|---|---|---|
![]() |
![]() |
![]() |
| Multichart | Commands | Help |
![]() |
![]() |
![]() |
Highlights
- Tree browsing for datasets, groups, links, and projected compound fields.
- Preview, matrix, heatmap, image, and schema views from the same selection.
- In-place edits when the file is opened with
-w. - Startup automation with commands, scripts, and
press .... - Derived series and comparisons in multichart.
Quick start
If you do not have an h5 file, you can download an example:
curl -fsSL https://raw.githubusercontent.com/DanielHauge/h5v/main/examples/h5v-example.h5 -o h5v-example.h5
Open a file in read-only mode:
h5v h5v-example.h5
If your terminal renders icons, line drawing, or graphics previews badly, start in compatibility mode:
h5v --compatibility h5v-example.h5
That switches the UI to simpler symbols and disables terminal graphics previews. To make it the default, set H5V_COMPATIBILITY_MODE=true in your shell rc file.
Open the same file in write mode so edits are allowed:
h5v -w h5v-example.h5
Themes, symbols, and heatmap defaults are configured in Lua. Inside h5v, run :configure to open init.lua, or :configure reset to regenerate the default scaffold.
Start with scripted commands:
h5v examples/h5v-example.h5 \ -c "goto /matrices/cube" \ -c "focus content" \ -c "mode matrix"
Validate a startup script without launching the UI:
h5v path/to/file.h5 --script-test --script setup.h5v
Try the bundled example file and walkthrough script from this repository:
h5v examples/h5v-example.h5 --script examples/h5v-example.h5v
Regenerate the example file after editing the generator:
python scripts/generate_example_h5.py
Installation
| Method | Command |
|---|---|
| Shell installer | curl -fsSL https://raw.githubusercontent.com/DanielHauge/h5v/main/install.sh | sh |
| PowerShell installer | irm https://raw.githubusercontent.com/DanielHauge/h5v/main/install.ps1 | iex |
| Homebrew | brew tap DanielHauge/h5v https://github.com/DanielHauge/h5v.git && brew install h5v |
| Scoop | scoop bucket add h5v https://github.com/DanielHauge/h5v && scoop install h5v/h5v |
| cargo-binstall | cargo binstall h5v |
| Cargo source build | cargo install h5v |
On Windows, install.ps1 installs into %LOCALAPPDATA%\Programs\h5v\bin and adds that directory to the user PATH.
On Linux, source builds may require native packages such as cmake, pkg-config, libfontconfig, freetype, and expat development headers.
Configuration
Configuration lives in init.lua. Use :configure to edit it and :configure reset to regenerate the default scaffold.

Documentation
The manual is published at danielhauge.github.io/h5v/book, and the source lives in docs/src.
Core interaction model
Shift+ arrow keys orCtrl+Wthenh/j/k/lmove focus between panes.Tabcycles content modes when more than one is available.:opens the command minibuffer,.repeats the last command, and?opens the in-app help overlay.madds the current previewable selection to multichart andMopens multichart mode.stoggles the sidebar,/enters search, andCtrl+Rreloads the file from disk.





