Get started · Open the builder · Learn more · Contribute
lab.js is a tool for constructing browser-based studies built for (but
not limited to) the social and cognitive sciences. Studies can be assembled
using a graphical builder, or through code. In either case, lab.js takes care
of study presentation, response collection and data storage, while providing
the greatest possible flexibility with regard to study design.
The graphical builder interface is the easiest way to create studies, and the best place to start. The tutorial will walk you through building your first study, step by step.
If you prefer working directly with code, you can build studies using the JavaScript library. Everything you need is bundled in the starter kit, which is provided with every release. There is also a tutorial to help you get started.
If you get stuck or things don't make sense, please don't hesitate to reach out!
The easiest and quickest way to find help is to join our Slack channel, where there's someone around to discuss things and help out most of the time. You're welcome to just join and say hello!
If you'd like to keep in the loop regarding the development, please subscribe to our newsletter to receive very occasional updates and release notifications.
(in alphabetical order)
Felix Henninger · Ulf K. Mertens · Yury Shevchenko
Benjamin E. Hilbig · Robert Gaschler
The students and teaching assistants in the graduate course Research Methods in Cognitive Psychology at the University of Koblenz-Landau inspire the continued development of this software, have provided countless valuable insights, and sparked many of the ideas embodied in this project through questions and discussions.
FernUniversität in Hagen · GESS, University of Mannheim · University of Koblenz-Landau
If you would like to support development, the easiest way is to host a workshop. We'll gladly show you and your colleagues how to build experiments using this software, and build your favorite paradigm together! We are also open to consulting if you are looking for a particular feature — please don't hesitate to get in touch so that we can discuss things in more detail.
We would love to have you as part of this project — whether you have new ideas, suggestions, or would just like to muck in, please be warmly invited to do so: This is an open project! We'd be glad to hear from you, to discuss ideas and approaches, and to get you going. There's an overview of the code and intro to the build process in the documentation if you're interested, but as always, we'd be happy to help you get started.
If you're searching for a place to contribute, please do let us know: There's always things to do, and we'd be glad to help you find something that fits your interests and resources. If you're writing a tool that might interoperate with this one, we're more than happy to link things up; if you're looking to extend or build on this project, we'd be thrilled to provide a stepping stone for you!
We expect all contributors to conform to the Software Carpentry Code of Conduct, and to be excellent to one another.
We kindly request that you cite lab.js if you use it in your research. Here's how:
Henninger, F., Mertens, U. K., Shevchenko, Y., & Hilbig, B. E. (2017). lab.js: browser-based behavioral research (version 2017.1.0). doi: 10.5281/zenodo.495220
(BibTeX record)
The two parts of this project are licensed individually:
- The
lab.jscore library that is included in your studies is made available under the terms of the Apache License. - The builder, the graphical interface used to build experiments, is provided under the terms of the GNU Affero General Public License.
The studies you build based on the library, and those you create using the builder, are always your own, and you are free to distribute them as you see fit. When studies include the core library files, these files alone are governed by the aforementioned license.

