TDMS Viewer
Inspect TDMS group/channel tree and properties in the browser.
Drop a .tdms file here
or
Your file never leaves your browser.
This tool opens an NI TDMS measurement file and shows what is inside without converting anything: the group and channel tree, each channel's data type and sample count, file/group/channel properties, and a preview of the first samples. Parsing streams in 4 MB slices, so the file never uploads and never loads whole.
How it works
A TDMS file is a chain of segments, each carrying metadata (object paths, raw-data indexes, properties) and raw sample bytes. The viewer runs the same streaming parser as this site's TDMS to CSV converter — tracking object state across segments, including raw-index reuse — but stops at presentation: tree, properties, counts and a first-samples peek per channel. It is the “what did we actually record?” step that precedes any conversion decision.
Worked example
group1 · 2 channels
├ ch1 · f64 · 100 samples · unit=V · gain=1.5
└ ch2 · f64 · 100 samples
first samples: 0, 0.5, 1, 1.5, …
Parameters
| Parameter | Value | Notes |
|---|---|---|
| Input | .tdms (TDMS 2.0) | little-endian, non-interleaved |
| Shown | tree · dtypes · counts · properties · first 10 samples | |
| Streaming | 4 MB File.slice chunks | no upload, no full load |
| Export | → TDMS to CSV tool | linked below the tree |
Python equivalent
# The same inspection with NI's Python package (pip install nptdms)
from nptdms import TdmsFile
tdms = TdmsFile.read("run.tdms")
print(dict(tdms.properties))
for group in tdms.groups():
for ch in group.channels():
print(group.name, ch.name, len(ch), dict(ch.properties))FAQ
▸What does this viewer show that the converter doesn't?
The structure. Before committing to a CSV export you often just need to know what is inside: which groups and channels exist, their data types, sample counts, and the properties (units, scaling hints, timestamps) attached at file, group and channel level. This page answers that in one drop.
▸Where do TDMS properties come from?
LabVIEW and other NI writers attach key-value properties at every level of the hierarchy — file title, group description, channel unit strings, waveform timing attributes like wf_increment. The viewer lists them verbatim next to the object they belong to.
▸Why does my channel show fewer samples than the acquisition ran?
TDMS appends data in segments as the writer flushes; an application killed mid-write leaves a truncated final segment. The parser keeps every complete value and drops only the partial tail, so the count reflects what is actually recoverable from the file.
▸Which files are supported?
Standard TDMS 2.0: little-endian segments, non-interleaved raw data, numeric channel types (i8–i64, u8–u64, f32, f64). Big-endian, interleaved and DAQmx-scaler files are rejected with a clear message rather than shown incorrectly.
▸Is my file uploaded?
No. It is read in 4 MB slices with the browser's File API and parsed locally.