Free and open source ยท runs in your browser

Build jsPsych experiments without writing code.

Lay out trials, blocks and conditions on a timeline, watch the experiment run as you build it, and download a readable jsPsych study you can host anywhere. Nothing to install and no account to make.

Start from a flanker, Stroop or image task, or from an empty timeline.

One trial of a Stroop task, as you would lay it out in Tachisto.

How it works

  1. 01

    Build the timeline

    Add steps from jsPsych's plugins: instructions, keyboard and button responses, questionnaires, images, sound, video. Each one opens a form made from the plugin's own documentation, so every setting is there with its explanation. Group steps into blocks, loop them, and drive them from a conditions table.

  2. 02

    Preview as you go

    Run the whole experiment, or only the step you are editing, beside the form. The flow view shows the paths a participant can take, and the code view shows the jsPsych that Tachisto writes for you.

  3. 03

    Download and run it

    Export one self-contained HTML file, or a project folder with a readme and a Psych-DS description of your data. Host it wherever you like, send results to DataPipe or let participants download them, and recruit from Prolific, SONA or CloudResearch Connect.

Correct by construction

Hand-written jsPsych can fail without a sound. A widely shared flanker timeline showed the same stimulus in every condition because it read its timeline variables the wrong way, and the browser console never said a word.

Tachisto writes those rules down once, in a compiler, and checks your design before it runs: a recording step without a microphone set-up, a calibration before the webcam starts, a column a trial reads that the conditions table does not have. Each problem is listed beside the step it belongs to, before a participant ever sees it.

Problem

plugin "html-audio-response" needs a "Set up the microphone" step (initialize-microphone) that every participant reaches before it

What you can build today

  • Designs from conditions tables

    Cross your factors into a table, or paste one in. Blocks run each row once, in order or shuffled, as many times as you ask.

  • Practice until it sticks

    Repeat a block while accuracy stays under a threshold, and branch on performance or on an answer.

  • Groups and counterbalancing

    Assign participants to groups, and run tasks in a random order or a balanced Latin square, with the order recorded on every row.

  • Stimuli of every kind

    Formatted text, images, sound and video, plus a psychophysics canvas whose shapes you drag into place.

  • Spoken and filmed answers

    Record sound and video from the participant, each saved as a file of its own next to their data.

  • Webcam eye tracking

    Set up, calibrate and check WebGazer, then record where participants look during any step.

  • Recruitment platforms

    Read the participant's id from Prolific, SONA or CloudResearch Connect, and send them back once their data is saved.

  • Ending early

    End the study for someone who declines consent or is screened out, and decide whether their data is kept.

Your study, your data

No server of ours
Tachisto is a static page. Your experiment stays in your browser until you download it, and results go only where you send them.
Readable output
The download is ordinary jsPsych code a colleague can read, change and run without Tachisto. Nothing locks you in.
Data that says where it came from
Every export names the Tachisto and jsPsych versions that made it, and describes its columns in Psych-DS, so a dataset can be traced years later.
A preview that cannot reach you
Experiments preview in a sealed frame that cannot read the builder or your browser's storage, and saves no data.

Tachisto is young. Version 0.0.1 builds and exports full experiments, but there is no hosting or consent flow yet. Tell us what you need on GitHub.

Your first trial is a minute away.

Open an example, change a stimulus, and watch it run.

Open the builder