Skip to content

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

  1. 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”.
  2. 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.
  3. 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.6

Pick 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 rain

A 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, and to_csv writes 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

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.

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.