Skip to main content

CSV Upload

Upload a CSV file of readings straight from the app, no code needed. The file is read in your browser and stays there until you send it.

CSV upload is on General crates.


Upload a file​

Step 1: Choose the file

Open the crate. Under Send data, find Upload a CSV and tap Choose file. The file needs a header row.

Step 2: Check the columns

The app guesses which column is which. Change any that are wrong:

FieldOptions
TimeA column with the time of each row, or Time of sending
DeviceA column with the device name, or One device for all rows plus a Device name (csv_upload by default)
MetricEach number column (every column of numbers becomes a metric), or one column that holds the metric name
ValueWhen the metric comes from a column: the column with the number
Step 3: Check the preview

First points shows the first readings as they will be sent, with their time, device, metric and value.

Step 4: Send

Tap Send N points. A progress bar shows how far it got. Tap Stop to stop part way.

When it's done, the readings show up in Grafana within a few seconds.


Two shapes of file​

Wide: one row per time, one column per metric. Leave Metric on Each number column.

time,device,temperature,humidity
2026-10-20T08:00:00Z,greenhouse-1,18.4,72
2026-10-20T09:00:00Z,greenhouse-1,20.1,68

Long: one row per reading, with the metric name in a column. Pick that column as Metric and the number column as Value.

time,device,metric,value
2026-10-20T08:00:00Z,greenhouse-1,temperature,18.4
2026-10-20T08:00:00Z,greenhouse-1,humidity,72

Times can be date strings, or Unix times in seconds or milliseconds.

Rows without a device, a readable time or a number are skipped, and the app tells you how many.


Big files​

The app sends the file in batches the size your plan allows (100 readings on Free, 250 on Maker), no faster than your batch rate limit. If it's told to slow down, it waits and tries again.

If the file has more readings than your crate takes for the rest of today, the app warns you before you send. The extra readings are refused until the next day (UTC), or move the crate to Maker in Settings. See Plans and limits.