FormsLab is a free, open source forms & surveys project written in TypeScript and released under MIT. It has 544 GitHub stars, 72 forks and 19 open issues, and was last pushed 7 months ago. On this registry it ranks #10 of 12 tracked projects in Forms & Surveys, with 5 head-to-head comparisons available.

What is FormsLab?

FormsLab is an MIT-licensed, TypeScript-based open-source form builder for teams that need anonymous surveys, polls, and customer feedback collection while keeping the application and its data on infrastructure they control.

What it is

FormsLab is an open-source survey creator and experience management application. It is built on the Next.js and React ecosystem, written in TypeScript, and styled with TailwindCSS. Form definitions and responses are persisted in MongoDB through the Prisma ORM, and authentication is handled by Auth.js. The project positions itself three ways at once: a feedback app for collecting input from customers, a poll creator for voting, and a general survey creator. The builder supports many question types, so a form can be shaped to the collection goal rather than forced into a fixed template, and the README explicitly claims that nothing limits the forms that can be created.

The concrete problem it addresses is the usual one for hosted form and feedback tooling: the builder, the responses, and the respondent experience all sit inside someone else's product. FormsLab occupies that same role โ€” survey creator and feedback collector โ€” but ships as a repository that can be run and modified. Because the storage layer is MongoDB via Prisma and the app is a standard Next.js project, the operator decides where form definitions and submissions live, and can extend the builder itself rather than waiting on a vendor roadmap.

Key capabilities

  • Form builder with support for many question types, covering surveys, polls, and customer feedback forms from a single tool.
  • Anonymous survey collection, aimed at feedback gathering and voting-style polls.
  • Next.js and React application written in TypeScript and styled with TailwindCSS.
  • MongoDB as the datastore, accessed through the Prisma ORM.
  • Authentication through Auth.js for the people creating and managing forms.
  • Developer workflow commands documented in the README: npm install, npm run dev, npm run test, npm run lint, and npm run lint-fix.
  • MIT licence, with contributions directed through the repository's CONTRIBUTING.md and work landing on the develop branch.

Who uses it and how

  • Product and support teams that want to collect customer feedback through forms they compose themselves instead of a fixed hosted template.
  • Organisers running polls for voting, using the anonymous collection path for responses.
  • Self-hosters with an existing MongoDB deployment who want the form application to run alongside it and authenticate users through Auth.js.
  • Contributors attracted by the hacktoberfest topic, working against the develop branch and the contributing guide.
  • Evaluators who want to see the application before hosting it, using the live instance at https://formslab.vercel.app.

Getting started

Clone the repository and run npm install to install the project, then npm run dev to run it locally. A live instance is available at https://formslab.vercel.app for evaluation before self-hosting.

How it compares

No list of commercial products that FormsLab replaces is provided in the facts, and no comparable open-source tools are named, so it stands alone in this registry. The distinguishing facts available are its MIT licence, its self-hostable Next.js and MongoDB stack, and its own hosted demo.

When to use it โ€” and when not to

A self-hoster must operate a MongoDB instance and configure Auth.js, and the README does not document production deployment, environment variables, or Prisma schema setup, so the operator will need to work that out from the source. Anyone who wants a zero-ops managed service, or who needs documented enterprise deployment guidance, should not pick this up expecting it to be turnkey. The README is also short and descriptive rather than instructional, which is the clearest weakness in the material available.

project readme (upstream, from github) โ€” read inline

FormsLab logo

The most fancy open source survey creator and experience management solution ๐Ÿ‘Œ
Check application live here

๐ŸŒŸ About FormsLab

formslab create form

FormsLab is an open source tool that can be used as a feedback app to collect feedback from customers, create polls for voting, or as a survey creator. Thanks to the ability to create any forms with many types of questions, nothing limits you, and your forms will always look unique ๐Ÿ˜

Contribution

We are open to any contributions!

  • If you like the project, star this repository โญ
  • If you are interested in contributing you can read Contributing guide

We are happy that our community is growing ๐Ÿ‘

Useful commands

  • npm install - install project
  • npm run dev - run project locally
  • npm run test - run all tests
  • npm run lint - check code lints
  • npm run lint-fix - try to solve lints errors automatically

:hammer_and_wrench: Technologies

Frequently asked questions

Is FormsLab free to use?

FormsLab is open source under the MIT licence. There is no licence fee and no seat count โ€” you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does FormsLab do?

๐Ÿ˜Š๐Ÿ“Š Form builder for anonymous surveys, polls, and collecting feedback. Experience management solution.

What is FormsLab written in?

FormsLab is primarily written in TypeScript. Its source is publicly available at https://github.com/Ryczko/FormsLab, and it has 544 GitHub stars.