Skip to content

CSV Import

Overview

CSV import lets you create records from CSV files directly in the console. You can import into an existing collection or create a new collection from the CSV headers and data.

Starting an Import

CSV import is available from two places:

  • Collections list — click the dropdown menu and select "Import CSV"
  • Collection records page — click the dropdown menu and select "Import CSV"

When starting from the collections list, you can choose to create a new collection or import into an existing one. When starting from a collection's records page, the import targets that collection.

Import Wizard

Step 1: Upload

Drag and drop a .csv file onto the upload zone, or click to browse. Files must be CSV format, up to 10 MB.

Step 2: Preview

The preview shows:

  • Column headers with detected type badges (text, number, date, or boolean)
  • First 50 rows of parsed data
  • Row and column count summary
  • Delimiter selector — auto-detected by default, but you can switch between comma, semicolon, or tab if the auto-detection is wrong

Warnings appear for:

  • Duplicate column headers — automatically renamed with a suffix (e.g., "Name" becomes "Name_1", "Name_2")
  • Row limit — imports are capped at 50,000 rows; excess rows are ignored with a warning

Step 3: Configure

Importing into an Existing Collection

A column mapping table shows each CSV column alongside a dropdown of collection properties. Columns are auto-mapped by matching header names (case-insensitive). You can adjust mappings or skip columns you don't need.

At least one column must be mapped to proceed.

Creating a New Collection

Enter a collection name (auto-populated from the filename). Each CSV column becomes a collection property with:

  • Property name — editable text input, pre-filled from the CSV header
  • Type — dropdown with Text, Number, Date, or Boolean, pre-filled from type inference

Type Inference

Types are inferred from the first 100 data rows:

Detected Type Matching Values
Boolean true, false, yes, no, 1, 0, on, off (case-insensitive)
Number Plain decimals (123, -45.67) or thousands-separated (1,234,567.89)
Date ISO 8601 (2026-03-21) or slash-delimited (03/21/2026, 21/03/2026)
Text Everything else (default)

Empty columns default to text.

Step 4: Importing

Records are sent to the backend in batches of 500. The screen shows:

  • A progress bar with percentage
  • A real-time counter: "{processed} of {total} records"
  • A cancel button — you can stop the import mid-process and keep records that were already created

Step 5: Summary

After the import completes (or is cancelled), the summary shows:

  • Imported — number of records successfully created
  • Failed — number of records that failed validation
  • Total — total records attempted

If any records failed, a scrollable table shows the first 50 failures with row number and error message. Expand a row to see field-level validation details.

Click Download Failed Rows to export all failures as a CSV file with __error and __row_number columns appended, so you can fix and re-import them.

Limits

Limit Value
Max file size 10 MB
Max rows 50,000
Batch size 500 records per request
Header row Required
Encoding UTF-8

Supported Delimiters

CSV files are auto-detected for delimiter type. If auto-detection is wrong, you can manually select:

  • Comma (,)
  • Semicolon (;)
  • Tab

The delimiter can be changed in the preview step, which re-parses the file immediately.