Home

Awesome

<div align="center">

Library

</div> <div align="center">

Build Status Software License <a href="https://github.com/DevExpress/testcafe"> <img alt="Tested with TestCafe" src="https://img.shields.io/badge/tested%20with-TestCafe-2fa4cf.svg"> </a> <a href="https://github.com/surveyjs/survey-library/issues"> <img alt="Issues" title="Open Issues" src="https://img.shields.io/github/issues/surveyjs/survey-library.svg"> </a> <a href="https://github.com/surveyjs/survey-library/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aclosed+"> <img alt="Closed issues" title="Closed Issues" src="https://img.shields.io/github/issues-closed/surveyjs/survey-library.svg"> </a> <a href="https://surveyjs.io/stay-updated/release-notes"> <img alt="GitHub Release" src="https://img.shields.io/github/v/release/surveyjs/survey-library"> </a>

SurveyJS Form Library

</div> <div align="justify">

SurveyJS Form Library is a free to use MIT-licensed client-side component that allows you to render dynamic JSON-based forms in any JavaScript application, collect responses, and send all form submission data to a database of your choice. You can use it for multi-page forms of any length and complexity, pop-up surveys, quizzes, scored surveys, calculator forms, and more. SurveyJS Form Library has native support for React, Angular, Vue, and Knockout; jQuery is supported via a wrapper over the Knockout version. The library interacts with the server using JSON objects—for both form metadata, also known as form JSON schemas, and results. The SurveyJS product family also includes a robust form builder library that automatically generates form configuration files in JSON format. The form builder features a drag-and-drop UI, CSS Theme Editor, and GUI for conditional logic and form branching.

</div> <br> <p align="center"> <a href="https://surveyjs.io/form-library/documentation/overview">Documentation</a> · <a href="https://surveyjs.io/stay-updated/roadmap">Roadmap</a> · <a href="https://surveyjs.io/form-library/examples/overview">View Demos</a> · <a href="https://surveyjs.io/create-free-survey">Generate JSON form</a> · <a href="https://github.com/surveyjs/survey-library/issues/new">Report Bug</a> · <a href="https://twitter.com/SurveyJS">Twitter</a> </p> <br>

https://github.com/surveyjs/survey-library/assets/102306951/844563b2-c7c3-400c-962f-bcdbe7274d55

Features

Get Started

Resources

SurveyJS Product Family

Build the SurveyJS Form Library from Sources

The instructions below apply to SurveyJS Form Library for React, Knockout, jQuery, and Vue 2. If you are looking for instructions on how to build the library for Angular or Vue 3, refer to README files within the survey-angular-ui or survey-vue3-ui packages.

  1. Clone the repo

    git clone https://github.com/surveyjs/survey-library.git
    cd survey-library
    
  2. Install dependencies
    Make sure that you have Node.js v14 or later and a compatible npm version installed.

    npm install -g karma-cli
    npm install
    
  3. Build the platform-independent part and plugins

    npm run build_core
    npm run build-plugins
    
  4. Build the library

    npm run build
    

    You can find the built scripts and style sheets in folders under the build directory.

  5. Run test examples

    npm run serve
    

    This command runs a local HTTP server at http://localhost:7777/.

  6. Run unit tests

    npm run test
    

    The unit tests use Karma.

Licensing

SurveyJS Form Library is distributed under the MIT license.