CSV, JSON, and media files
Send text data as CSV or JSON, and recordings — audio, video, images — as base64 strings. DataPipe decodes each string and saves the original file alongside the rest of your data.
DataPipe is a free, open-source service that sends data from any online experiment to your own Google Drive, Dataverse, or Zenodo account as each participant finishes. No server to set up, nothing to download by hand.
DataPipe only ever asks your storage provider for permission to add files. You can disconnect it at any time.
Built by the jsPsych team
// Save data with the jsPsychPipe plugin const save_data = { type: jsPsychPipe, action: "save", experiment_id: "your_id", filename: filename, data_string: () => jsPsych.data.get().csv() };
// Send data with a fetch request fetch(url, { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ experimentID: "your_id", filename: "subject01.csv", data: dataAsString }) });
Connect a storage provider — Google Drive, Dataverse, or Zenodo — to your DataPipe account.
Create a DataPipe experiment, then add a few lines of code to the experiment your participants run so it sends data to DataPipe.
Enable data collection and run your experiment. Each participant's data lands in your Drive folder, Dataverse dataset, or Zenodo deposition as they finish.
Born-open means each participant's data is already in your own storage the moment it is collected, instead of being uploaded months later when the paper is written. The reasoning behind that is set out in the DataPipe paper in Behavior Research Methods. If you use DataPipe in your research, please cite it.
Send text data as CSV or JSON, and recordings — audio, video, images — as base64 strings. DataPipe decodes each string and saves the original file alongside the rest of your data.
Data validation checks that every submission is well-formed JSON or CSV and carries the fields you require; anything else is rejected before it reaches your storage. A session limit caps how many files DataPipe will accept.
Turn on metadata and DataPipe writes a dataset_description.json alongside your data — describing the dataset and every variable in it in the Psych-DS format, a standard layout others can read and reuse — and keeps it up to date after each session.
Connect a storage provider, create an experiment, and add a few lines of code. The getting started guide walks through all of it, end to end.
Create an accountThe documentation covers what DataPipe stores, what it costs to run, and what happens when an upload fails.
Already collecting on OSF? OSF is shutting down its projects feature. DataPipe will stop writing to OSF after November 16, 2026. Data already there stays in your OSF account, and DataPipe never removes it. See how to move to another provider.