Repolode
surveyjs

surveyjs/survey-library

Open-source JavaScript library that renders JSON-defined forms, surveys, quizzes and multi-step wizards in React, Angular, Vue and plain JavaScript.

Open-source alternative to:TypeformSurveyMonkey

Stars
4,926
Forks
928
Open issues
457
Last commit
8 hours ago

What is it?

SurveyJS Form Library renders dynamic, JSON-based forms and surveys in web applications built with React, Angular, Vue 3, or plain JavaScript. Form structure, validation, conditional logic, navigation and appearance are all defined in a JSON form definition, and responses are collected in the browser.

The framework-independent survey-core package holds the form model, validation, calculations, localization and navigation, while separate UI packages handle rendering for each framework. The library does not require a SurveyJS backend; submitted data is sent to whatever server, API or database the application uses.

It targets multi-step forms, pop-up surveys, quizzes, scored surveys and calculator forms. Form definitions can be written by hand, generated with AI, or built visually with the separate SurveyJS Creator tool.

Key features

  • 01Renders forms from JSON definitions in React, Angular, Vue 3 and plain JavaScript
  • 02Supports conditional visibility, branching, calculated values and validation
  • 03Includes multi-step wizards, quizzes, scored surveys and pop-up surveys
  • 04Provides 20+ built-in question types and custom question components
  • 05Offers localization with right-to-left language support and built-in themes
  • 06Sends responses to any backend or database without a required SurveyJS server

Use cases

  • Adding a multi-step registration or application form to a React or Angular web app
  • Building scored quizzes or knowledge tests inside a website
  • Embedding pop-up feedback or customer satisfaction surveys in a product
  • Creating calculator-style forms whose fields depend on each other

Quick start

  1. 1

    Install the React rendering package

    npm install survey-react-ui
  2. 2

    Follow the React getting-started guide to render a JSON form definition

Things to know

  • Rendering packages are framework-specific, so you must pick the one matching your app (React, Angular, Vue 3, or plain JavaScript).
  • Advanced features such as Creator-based visual building and some theme adapters are separate products or add-ons, not part of this library.

Topics

FAQ

What is survey-library?
Open-source JavaScript library that renders JSON-defined forms, surveys, quizzes and multi-step wizards in React, Angular, Vue and plain JavaScript. SurveyJS Form Library renders dynamic, JSON-based forms and surveys in web applications built with React, Angular, Vue 3, or plain JavaScript. Form structure, validation, conditional logic, navigation and appearance are all defined in a JSON form definition, and responses are collected in the browser.
Is survey-library free to use? What license does it have?
survey-library is open source under the MIT license. Check the license terms before using it in commercial products.
Is survey-library still maintained?
Actively maintained. The last commit to survey-library was on Nov 7, 2026.
What can I use survey-library for?
Adding a multi-step registration or application form to a React or Angular web app Building scored quizzes or knowledge tests inside a website Embedding pop-up feedback or customer satisfaction surveys in a product Creating calculator-style forms whose fields depend on each other
How do I install survey-library?
Install the React rendering package: npm install survey-react-ui Follow the React getting-started guide to render a JSON form definition
Where can I get survey-library?
The source code and installation instructions are on GitHub: https://github.com/surveyjs/survey-library

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects