PsychoPy

Overview
PsychoPy is an open-source software tool to create and run behavioral and cognitive experiments. It supports both a desktop application and online experiments via Pavlovia, enabling participants to take part remotely in web browsers without requiring local installation.
PsychoPy provides a Builder view for drag-and-drop experiment design, suitable for users without coding experience, and a Coder view for advanced customization with Python. Its precise timing and synchronization features make it a standard tool for psychology and neuroscience research.
Getting Started
- Install PsychoPy
- Choose Builder or Coder view depending on your experience and needs
- Create a new experiment and define routines and stimuli
- Run the experiment locally or upload it to Pavlovia for online participation
- Download and analyze collected data
Key Concepts

- Builder view: Visual interface for constructing experiments using components like stimuli, responses, and routines.
- Coder view: Python-based interface for scripting and customizing experiments.
- Stimuli: Text, images, sounds, or videos presented to participants.
- Responses: Inputs recorded from participants, such as key presses or mouse clicks.
- Timing precision: Automatic synchronization with the display refresh rate to ensure accurate stimulus presentation.
- Pavlovia: Online platform to host, run, and collect data from experiments in a web browser.
- Experiment routines: Sequences of events, such as stimuli presentation and response recording.
Main Uses
- Create and run behavioral, cognitive, and perceptual experiments
- Present stimuli with high temporal precision
- Record participant responses accurately
- Deploy experiments online via Pavlovia for remote participation
- Test and prototype experiments quickly in Builder view before customizing in Coder view
Why It Matters
- Enables rapid creation of experiments with minimal coding
- Supports both local and online participant testing
- Provides precise control over stimulus presentation timing
- Facilitates reproducibility and sharing of experimental workflows

When You Will Use It
- Designing and testing new behavioral experiments
- Running experiments in the lab or remotely via web browsers
- Collecting and analyzing participant data
- Customizing experiments with Python for advanced features
Good Practices
- Test experiments for timing accuracy before running actual sessions
- Keep routines and code well-organized for reproducibility
- Use descriptive file names and structured folders for experiments
- Backup all experiment files and collected data