PsyCloud

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

SourceIn StudioVia CLIStatus
jsPsych (6–8)Broad coverage; best for 7.x
PsychoJSBeta / 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.

Verify before you deploy

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 ./imported

The 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.R
Migrating from jsPsych?

The 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.

Next