The signal that stays inside the panel An enclosed panel holds a wavering trace, unbroken from one edge to the other. Some points along the trace are marked and brighter, and nothing crosses the panel's edge.
The starting point

A file of measurements has no reason to leave your computer.

To look at a CSV of a few dozen megabytes there are usually two roads: a spreadsheet that slows to a halt, or an online service you upload the file to. The first makes you wait; the second hands your measurements to somebody else, and often you cannot tell how long they keep them.

CSV Scope does a third thing. The browser reads the file where it already sits and draws the chart locally. There is no server because none is needed: once the page has loaded, the app makes no further network request.

The case we started from is an electrocardiogram. It is the kind of file our work on medical wearables runs on, and it is also what puts a viewer to the test: hundreds of samples a second, often a single column, and detail that matters at every millisecond. The example inside the app is a synthetic ECG, drawn by the app itself: it is nobody's recording.

What it does

  • Opens CSV and TSV files, with a comma, a semicolon or a tab as the separator.
  • Finds the time column and plots the other channels — the columns that hold numbers — on the same axis.
  • Zooms into the chart and scrolls along the file: on an hour-long recording you get down to reading a single beat.
  • Plays the trace back like a monitor, at recording speed when the file states the times, and at whatever speed you choose.
  • Shows every row as a table, text columns included.
  • Minimum, maximum and mean of each channel over the selected range.
  • Exports the selected range: the rows come out exactly as they went in.
  • Reads single-column files too, one sample per line, the way an ECG exports them.
  • Recognises a file you have opened before and puts you back at the same zoom and range.
  • Opens files of a hundred thousand rows and stays under a hundred megabytes.

What it does not do

  • It does not send the file anywhere, and we receive no copy of it.
  • It does no signal filtering and no statistical analysis: it is for looking, not for processing.
  • It does not open proprietary datalogger formats. Export them to CSV first.
  • It does not sync across devices: what you open here stays here.