Convert TDMS to CSV online
Any group of a .tdms file as CSV, one table per time base. Nothing is uploaded.
Open a TDMS file to convert it to CSV
Drop it here or choose a file. Pick a group or time base, then download it as a CSV with its time column.
The sample: a month of made-up UK weather in three groups, each at its own rate.
Tip: drop several files to compare them.
Your file never leaves your device. It is read and charted by your browser. Nothing is uploaded.
Opens on the table, one group at a time
- View
- The table, every row of the first group; the chart is one click away.
- Groups
- One table per group, or per length and rate inside a group, in the menu of the file’s line.
- Download
- “Download as CSV” over the table: the time column and every channel of the table shown.
- Digits
- 15 significant digits; “Full precision (17 digits)” under “Do more” writes every digit.
At a glance
- What you get
- A CSV file with a header row, comma separated, UTF-8: every channel and every row of the table you pick, one table per group, or per time base when a group has several.
- Time column
- First, from the waveform properties: dates and times in UTC such as 2026-01-01 00:00:00, or seconds when the file has no start time; else the file’s own time channel.
- Values
- Numbers with 15 significant digits, as Excel writes them (every digit on request), booleans as 0 and 1, text as it is, missing values as empty cells.
- One table per time base
- Channels of another length or rate are a table of their own in the menu: pick it and download again.
- Units
- Shown next to each channel in the table and in Variables, from unit_string. The CSV’s header row holds the channel names only, with no units row.
- Processing
- Runs in your browser. The file is never uploaded, and you need no LabVIEW, DIAdem, Excel add-in or Python.
- Price
- Free. No account or sign-up.
How to convert TDMS to CSV
- Open your .tdms file. Choose it, or drop it on the tool at the top of this page. It opens on the table, on its first group. No file to hand? Click “Try a sample TDMS file”.
- Pick the group. The menu in the file’s line lists the file’s groups; a group with channels of different lengths or rates gives a table for each. “Variables” shows every channel and property first, if you want to check.
- Download the CSV. Click “Download as CSV” over the table. The CSV holds the table’s time column and every channel, every row; for another group or time base, pick it and download again.
A worked example you can check
“Try a sample TDMS file” opens a month of made-up UK weather in three groups, each with its own time base:
- Hourly (744 rows, 5 channels and the time): temperatures in London, Leeds and York, London’s humidity and pressure, every hour from 1 January 2026.
- Rain gauge (4,464 rows, 2 channels and the time): rain in London and Leeds every ten minutes, on its own time base.
- Daily (31 rows, 4 channels and the time): a timestamp channel, Date, which becomes the time axis, the day’s highest and lowest temperature and the weather in words.
It opens on Hourly. Click Download as CSV, and the CSV starts like this:
Time,London_Temperature,Leeds_Temperature,York_Temperature,London_Humidity,London_Pressure
2026-01-01 00:00,5.44,3.32,2.79,93.1,1013
2026-01-01 01:00,4.99,2.93,2.42,92.8,1011.8
2026-01-01 02:00,4.74,2.72,2.2,88,1012.6Pick Daily in the file’s line and download again: its Date channel is the time column, and the weather in words is a column of text.
Date,London_Max_Temperature,London_Min_Temperature,London_Conditions
2026-01-01,10.54,4.7,Cloudy
2026-01-02,10.77,4.85,Heavy rainA test opens the sample on every change to the site and checks these lines against what npTDMS, the Python library for TDMS files, reads in it. Download the sample (.tdms, 105 KB) to try it elsewhere too: the same sample TDMS measurement file is free to reuse under CC0.
What the CSV keeps
The time column
The first column is the group’s time. From the waveform properties LabVIEW and DAQmx write, it is the date and time of each value in UTC (2026-01-01 00:00, with seconds or milliseconds when the rate needs them), or seconds from the start when the file has no start time. A group without waveform timing keeps its own time or timestamp channel; with none, the rows are in sample order.
One table per time base
Channels logged at different rates can’t share rows without repeating or inventing values, so each group is its own CSV, and channels of another length or rate inside a group are a table of their own in the menu. No value in the CSV is repeated or invented.
Numbers, booleans and text
Numbers are written with 15 significant digits, the precision Excel writes; tick Full precision (17 digits) under “Do more” for every digit. Booleans are 0 and 1, timestamp channels dates and times, and text is written as it is, in double quotes when it holds a comma.
DAQmx data and NI scales
DAQmx raw data is read with its scalers. Linear and polynomial scales, and sums and differences of scales, are applied. Thermocouple, RTD, strain, thermistor and table scales are not yet: those channels show their stored values, with a note saying so. The CSV holds the same values as the table: scaled, or as stored where a scale isn’t applied yet.
Units and properties
The CSV’s header row holds the channel names only: there is no units row, and no properties. Each channel’s unit (unit_string) shows next to it in the table, and its properties, with those of its group and the file, are listed in Variables.
TDMS to Excel
NI’s free TDM Excel Add-In loads a .tdms file into a workbook on Windows, a sheet per group. The converter here needs no add-in and works on any computer.
Open it in Excel
MegaRows writes CSV, not .xlsx: there is no direct .xlsx download, and Excel opens the CSV directly. To check the separator first, use Data › From Text/CSV in Excel.
- One table per CSV. A group, or one time base of it: a header row of channel names, then the group’s time in the first column when it has one, and a column per channel.
- Channels at different rates. They are never padded or interpolated into one table: channels of another length or rate are a table of their own in the menu of the file’s line, so pick each one and download it too.
- Excel’s row limit. A worksheet holds 1,048,576 rows, the header row included, and Excel cuts off the rest of a longer CSV. Split the CSV into Excel-sized files with the CSV splitter, or keep the file in the TDMS viewer, which has no fixed row limit.
- Saving as .xlsx. If you need a workbook, open the CSV in Excel, then use File › Save As and choose Excel Workbook (.xlsx).
Other ways to convert TDMS to CSV
- LabVIEW or DIAdem can export channels to text files.
- Python: with npTDMS,
TdmsFile.read("file.tdms")["Group"].as_dataframe()gives a pandas data frame of a group, andto_csvwrites it. - MATLAB: tdmsread, in the Data Acquisition Toolbox, then writetimetable.
The converter on this page needs none of them. For MATLAB files, use MAT to CSV.
Private by design: nothing is uploaded
Test and measurement data often must not leave the company. This converter reads your .tdms file and writes the CSV in your browser, so the file and its name never leave your device. It handles big files too: a channel’s values are read only when the CSV is written.
Next steps with your data
- TDMS viewerThe groups, channels and properties, each channel plotted against its time.
- MAT to CSVThe signals of a MATLAB .mat file as a CSV.
- Large CSV viewerScroll, sort and filter the CSV, millions of rows too.
- CSV to MATThe CSV as a MATLAB .mat file, a field per column.
- CSV plotterPlot the channels, zoom in and read their statistics.
Frequently asked questions
How do I convert a TDMS file to CSV without LabVIEW?
Open the .tdms file in the converter at the top of this page, pick a group in the file’s line and click “Download as CSV”. Your browser reads the file and writes the CSV on your own device: no LabVIEW, DIAdem, Excel add-in or Python, and nothing to install.
Is my TDMS file uploaded?
No. The file is read and converted by your browser on your own device; neither the file nor its name is sent anywhere. That makes it safe for confidential test data.
Why one CSV per group?
A CSV file is one table, with one time column. A TDMS file’s groups usually hold channels logged at different rates, so each group, and each set of channels of one length and rate inside a group, is a table of its own: pick one, download it, then the next.
What does the time column hold?
The group’s time, first: dates and times in UTC such as 2026-01-01 00:00, worked out from the channels’ waveform start time and increment, or seconds from the start when the file has no start time. A group without waveform timing uses its own time or timestamp channel.
Can I open the CSV in Excel?
Yes. MegaRows writes CSV, not .xlsx: there is no direct .xlsx download, and Excel opens the CSV directly. Excel stops at 1,048,576 rows, so a longer group is cut off there by Excel; open the file in the TDMS viewer instead, which has no fixed row limit, or split the CSV into Excel-sized parts with the CSV splitter.
Which TDMS files can I open?
Files written by LabVIEW, DIAdem, NI-DAQmx loggers and other software that writes NI’s TDMS format, versions 1.0 and 2.0: signed and unsigned integers of 8 to 64 bits, single and double floats, booleans, timestamps and text, interleaved or big-endian data, DAQmx raw data with its linear or polynomial scaling, and files of many segments. A file a logger is still writing opens with what it has written completely. Complex numbers are listed but not plotted yet.
Related tools and guides
- CSV plotterOpen a CSV, Excel, TXT, JSON, MATLAB, Parquet, HDF5 or LabVIEW TDMS file with millions of rows and plot it in several linked charts, with zoom and statistics. Works today.
- Large CSV viewerOpen a CSV with millions of rows in your browser: scroll every row, see each column’s type and statistics, chart any column. Works today.
- MATLAB .mat file viewerOpen v4 to v7.3 .mat files without MATLAB and plot any signal. Works today.
- Parquet viewerOpen large .parquet files, see the schema at once and plot millions of rows, without Python. Works today.
- TDMS viewerOpen .tdms files from LabVIEW, DIAdem and DAQmx loggers: every group, channel and property, each channel plotted against its time. Works today.
- HDF5 viewerOpen .h5, .hdf5 and NetCDF-4 .nc files: every group, dataset and attribute, each group’s datasets plotted against their time. Works today.
- MAT to CSVConvert the signals of a .mat file, v4 to v7.3, to a CSV for Excel or Python, without MATLAB. Works today.
- Parquet to CSVConvert a .parquet file to CSV in your browser, with the columns you pick. Works today.
- HDF5 to CSVConvert the datasets of an .h5 or NetCDF-4 file to CSV, a table at a time, with its time column, without Python. Works today.
- Excel to CSVConvert any sheet of an .xlsx or .xlsm workbook to CSV, with the saved results of formulas, real dates and 15 significant digits. Works today.
- JSON to CSVConvert JSON and JSON Lines files to CSV: nested fields become columns named by their path, arrays stay as JSON text. Works today.
- CSV to MATConvert a CSV, Excel, JSON or Parquet file to a MATLAB .mat file: a field per column, with names and units, every row. Works today.
- Merge CSV filesAppend many CSV files into one, even with different columns or separators. Works today.
- Split CSV filesSplit a CSV too big for Excel into parts of 1,000,000 rows, parts of a size you choose, or one file per value of a column. Works today.
- CSV row counterCount the lines in a CSV, TSV or TXT file of any size. Works today.
- CSV statisticsCount, missing values, min, max, mean, standard deviation, RMS and peak to peak of each number column, for the whole file or the rows you zoom into. Works today.
- CSV histogramA histogram of any number column, with automatic bins or 10 to 200 of them, and each bin’s count as a table. Works today.
- CSV too large for Excel?Open every row of a CSV beyond Excel’s 1,048,576-row limit, or work around the limit in six other ways.
- FFT and PSD from a CSVTurn a signal column into an FFT spectrum or a PSD with Grms, with results checked against SciPy. Works today.
- PSD calculatorTurn a vibration column into a power spectral density (Welch) in g²/Hz, with the Grms of any band and a dB view. Works today.
- Spectrogram from CSVSee how the frequencies of a measured signal change over time, as a heat map in dB, with the window and range you choose. Works today.
- FRF and coherencePick an input and an output column and get the frequency response (H1, H2, magnitude and phase) and their coherence. Works today.
- The MegaRows toolboxWhat works today and what is coming next, and why nothing is ever uploaded.
Coming soon to MegaRows: CSV to Excel and PDF reports · Compare CSV versions.
MegaRows processes files locally in your browser. Nothing is uploaded, not even the file name.