# vtkTable support in VTKHDF

**URL:** https://discourse.vtk.org/t/vtktable-support-in-vtkhdf/16460
**Category:** Development
**Created:** [June 16, 2026, 2:03pm UTC](https://discourse.vtk.org/t/vtktable-support-in-vtkhdf/16460 "2026-06-16T14:03:49Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![Louis\_Gombert](https://discourse.vtk.org/user_avatar/discourse.vtk.org/louis_gombert/32/7766_2.png) [@Louis\_Gombert](https://discourse.vtk.org/u/Louis_Gombert)
#### Post date: [June 16, 2026, 2:03pm UTC](https://discourse.vtk.org/t/vtktable-support-in-vtkhdf/16460/1 "2026-06-16T14:03:49Z")

</div>

`vtkTable` is one of the last important VTK data types that has not been added to the VTKHDF specification yet. I’m presenting here a specification to fill this gap and get feedback from the community before implementing it.

Just like the XML .vtt format, we store data column by column. Data type is consistent in a given column, but not necessarily between columns.

Data is stored in `/VTKHDF/RowData/` as 1-dimensional arrays. The number of rows _ **must** _ be consistent between columns.

For temporal data, read offsets for each column are specified in `/VTKHDF/Steps/RowDataOffsets/`. Each dataset in the `RowDataOffsets` group has size `NumberOfSteps`. This way, you can save space and memory when a column does not change values between time steps by setting the same offset as the step before.

`/VTKHDF/NumberOfRows` is a required field that stores the number of rows, and has 1 value for every time step.

An example file is attached

[table.vtkhdf](https://discourse.vtk.org/uploads/short-url/gQHLJGoqXoFc7UueozyJ57w6aCC.vtkhdf) (32.9 KB)

---

<div class="post-metadata">

### Author: ![mwestphal](https://discourse.vtk.org/user_avatar/discourse.vtk.org/mwestphal/32/19_2.png) [@mwestphal](https://discourse.vtk.org/u/mwestphal)
#### Post date: [June 16, 2026, 2:05pm UTC](https://discourse.vtk.org/t/vtktable-support-in-vtkhdf/16460/2 "2026-06-16T14:05:53Z")

</div>

LGTM!
