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.
Documentation · Roadmap · View Demos · Generate JSON form · Report Bug · Twitter
form-library.mp4
Features
- It's suitable for multi-page forms, quizzes, scored surveys, calculator forms, and survey pop-ups
- Integration with React, Angular, Vue, jQuery, and Knockout
- Compatible with any server & database
- Integration examples for PHP, ASP.NET Core, and NodeJS
- All data is stored on your own servers; therefore, there are no limits on the number of forms, submissions, and file uploads
- 20+ accessible input types, panels for question grouping, dynamic questions with a duplicate group option
- Input validation, partial submits & auto-save, lazy loading, load choices from web services
- Custom input fields
- Carry forward responses, text piping, autocomplete
- Integration with 3rd-party libraries and payment systems
- Support for webhooks
- Expression language (Built-in & Custom Functions), data aggregation within a form
- TypeScript support
- Auto-localization and multi-locale surveys, support for RTL languages
- Weekly updates
- 120+ starter demos & tutorials
- Community-supported UI localization to 50+ languages
- Built-in themes and CSS customization
- e-Signature field
- Image capture
- All popular types of form navigation
Get Started
Resources
SurveyJS Product Family
- Form Library - A free and open-source MIT-licensed JavaScript library that renders dynamic JSON-based forms in your web application, and collects responses.
- Survey Creator - A self-hosted drag-and-drop form builder that automatically generates JSON definition (schemas) of your forms in real time. Try out a free full-featured demo to evaluate its capabilities.
- Dashboard - Simplifies survey data visualization and analysis with interactive and customizable charts and tables.
- PDF Generator - An open-source JavaScript library that renders SurveyJS surveys and forms as PDF files in a browser. With PDF Generator you can save an unlimited number of custom-built forms to PDF (both editable and read-only).
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
orsurvey-vue3-ui
packages.
-
Clone the repo
git clone https://github.com/surveyjs/survey-library.git cd survey-library
-
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
-
Build the platform-independent part and plugins
npm run build_core npm run build-plugins
-
Build the library
npm run build
You can find the built scripts and style sheets in folders under the
build
directory. -
Run test examples
npm run serve
This command runs a local HTTP server at http://localhost:7777/.
-
Run unit tests
npm run test
The unit tests use Karma.
Licensing
SurveyJS Form Library is distributed under the MIT license.