Appwrite's CSV Import feature allows you to create multiple documents in a collection by uploading a single CSV file. This is especially useful for importing existing data, seeding test environments, or migrating from other systems.
This feature is available in both Appwrite Cloud and the self-hosted version.
Prepare your collection
To get started, create a collection in your database and define its attributes. Your CSV file must match the structure of this collection.
Each column in the CSV should map to an attribute key in your collection, and each row should represent a new document.
Good to know
You can optionally include the $id column to define custom document IDs. If not provided, Appwrite will generate unique IDs for each document automatically.
For example, if your collection has the following required attributes:
title (string)
author (string)
year (integer)
available (boolean)
A valid CSV file might look like:
$id,title,author,year,available
f3k91x8b2q,Harry Potter and the Sorcerer's Stone,J.K. Rowling,1997,true
mz7lq3dp5c,The Fellowship of the Ring,J.R.R. Tolkien,1954,true
x0v4p8ncq2,To Kill a Mockingbird,Harper Lee,1960,false
Note
All required attributes must be present in the CSV. Each row is validated before being imported.
Import documents from the Console
To import documents using the Appwrite Console:
Go to your project -> Databases
Navigate to your target Collection
Click on the Import CSV button in the action area
Upload a new CSV file or choose an existing file from your Storage bucket


CSV imports run as background tasks. The Console displays a floating progress bar while the import is active.