SurveyJS is a JavaScript Survey and Form Library.
SurveyJS is a modern way to add surveys and forms to your website. It has versions for Angular, jQuery, knockout, react and vue.
Documentation
SurveyJS Library Documentation
Live Examples
SurveyJS Library Live Examples
Survey Creator / Form Builder
Create your Survey or Form now
Survey Creator sources are here
Export Survey to PDF
Export to PDF sources are here
More info about SurveyJS
SurveyJS is the most feature-rich Survey / Form Library available at the current moment. It can be easily customized and extended to suit your needs.
Main Features
A lot of question types with a lot of built-in functionalities.
- Text Question
- Radigroup Question
- Dropdown Question
- Checkboxes Question
- Boolean Question
- Matrix Question
- Matrix Rubric Question
- Matrix Dropdown Question
- Matrix Dynamic Question
- Multiple Text Question
- Rating Question
- Ranking Question
- Comment Question
- Html Question
- Files uploading Question
- Panel Container
- Panel Dynamic Question
- Expression Question
- Image Picker Question
- Support for third-party popular UI widgets. The custom widgets GitHub repo
Multiple Pages Support
You may create a very complex forms with a lot of pages, like this one.
Dynamically change survey logic and questions content
- Change questions visibility using logical expressions
- Create custom functions to use it in expression
- Filter choices in checkbox, radiogroup and dropdown questions
- Filter rows and columns in matrix question
- Disabled/enabled questions based on logical expressions
- Questions value validation
Localization and Multiple language support
Appearance and custom Rendering
- Seven built-in Themes
- Bootstrap support
- CSS styles customization
- API for adding new or changing existing HTML elements
- Render Questions in one line
- Markdown support
Frequently used functionalities
- Quiz creation
- Show survey or form in the popup window
- Display mode
- Custom navigation
- Sharing same data between questions
To find out more about the library
- go to the SurveyJS Library Site
- explore the live Examples
- and create a survey or form using Survey Creator
You can use our quickstart repos:
Getting started
Install the library using npm.
Angular version:
npm install survey-angular
jQuery version:
npm install survey-jquery
Knockout version:
npm install survey-knockout
React version:
npm install survey-react
Vue version:
npm install survey-vue
Or use unpkg CDN:
- https://unpkg.com/survey-angular@{version-number}/survey.angular.min.js
- https://unpkg.com/survey-knockout@{version-number}/survey.ko.min.js
- https://unpkg.com/survey-react@{version-number}/survey.react.min.js
- https://unpkg.com/survey-jquery@{version-number}/survey.jquery.min.js
- https://unpkg.com/survey-vue@{version-number}/survey.vue.min.js
You find all versions/builds in the surveyjs/build repo.
Or dowload a version as zip file from Releases
If you want to import it in another script:
import * as Survey from "survey-jquery";
Building survey.js from sources
To build library yourself:
-
Clone the repo from GitHub
git clone https://github.com/surveyjs/survey-library.git cd survey-library
-
Acquire build dependencies. Make sure you have Node.js installed on your workstation. You need a version of Node.js greater than 6.0.0 and npm greater than 2.7.0. This is only needed to build surveyjs from sources.
npm install -g karma-cli npm install
-
Build the library
npm run build_prod
After that you should have the libraries (angular, jquery, knockout, react and vue) at 'packages' directory.
-
Run samples
npm start
This command will run local http server at the http://localhost:7777 You can open http://localhost:7777/examples/knockout to view KnockoutJS samples, http://localhost:7777/examples/react to view ReactJS samples and so on
-
Run unit tests
npm run test
This command will run unit tests using Karma