Importing & Migrating
You don't have to start from scratch. PsyCloud can import an existing jsPsych experiment, a PsychoJS experiment, or a PsyCloud bundle, converting it to the shared format so you can edit and run it like any other study.
What you can import
| Source | In Studio | Via CLI | Status |
|---|---|---|---|
| jsPsych (6–8) | ✅ | ✅ | Broad coverage; best for 7.x |
| PsychoJS | — | ✅ | Beta / best-effort |
PsyCloud bundle (.psycloud.zip) | ✅ | ✅ | Full |
| PsychoPy, raw files | "Soon" | — | In progress |
jsPsych coverage
The importer maps jsPsych's timeline to PsyCloud's phases/screens, timeline_variables to the
design pipeline, and plugins to components. Most core (keyboard/button/slider/canvas),
survey, and task-specific plugins convert cleanly. Not currently supported: media recording
(audio/video response), eye tracking (webgazer), sketchpad, and a few specialized plugins — these
surface in the import report so you know what needs a manual replacement.
Import gets you a faithful starting point, not a guaranteed byte-for-byte clone. Behavioral equivalence isn't formally proven for every plugin, so review the converted study (especially timing and any flagged plugins) before collecting data.
Import in Studio
In Studio, choose New Study → Import bundle, or open the Import page and pick jsPsych or Project Bundle. Studio converts the source and drops you into the Author view to review and edit. See Creating a Study.
Import on the CLI
# Auto-detects jsPsych / PsychoJS / bundle
psycloud import ./experiment.html --dry-run # validate only, no output
psycloud import ./experiment.html --out ./importedThe output directory contains the converted project plus an import report:
imported/
project.json
study.json
assets/
import/
report.json # machine-readable conversion result
report.md # human-readable summary + warnings
original/ # the source, preserved
Read import/report.md first — it lists what converted, what fell back, and what's unsupported.
Keep going in code
After importing (or for any study), you can generate idiomatic SDK code and continue in your language of choice:
psycloud export-code ./study.json --lang python -o design.py
psycloud export-code ./study.json --lang r -o design.RThe SDKs ship side-by-side "jsPsych → PsyCloud" example mappings (Stroop, SRT, recognition memory, adaptive, and more) — a fast way to learn the idioms while porting a familiar task.