Surveys for the Modern Web, Free Under the MIT License
Welcome to SurveyJS Library – a developer tool for the modern web.
We believe in surveys as embedded solutions – those that keep your visitor engaged right on your webpage,
share the same Bootstrap themes, and can even use your custom widgets inside questions.
Those are the capabilities make SurveyJS Library a superior survey solution.
Scroll down to review interactive examples, seamlessly integrated into the webpage.
Many Web Development Platforms, Simple Integration
and we made sure to document the integration well.
The Getting Started section and the rest of Examples all feature tabs letting you switch to your preferred framework.
You can open samples in Plunker to try out live survey questions and see how code changes affect behavior. We even
published GitHub repos with boilerplate projects that will jumpstart your Angular, React and Vue.js development.
See Survey.JS in action
A dozen question types
Design and Bootstrap support
All professional and commercial survey solutions come with beautiful design. Sometimes you may choose different look and feel. The most commercial survey solutions go further and allow, for example, you even to include your own logo into your own survey. What is a big deal! Will their design match your web site design? You may be lucky if it does. Unfortunately, there is no way they will be able to create a design for all their customers. SurveyJS allows you to customize every element in the way you need. Additionally it supports Bootstrap and Bootstrap-Material. If your website uses bootstrap, just tell SurveyJS to render itself by using your bootstrap styles.
Here is another good example when an open and transparent solution beats old and closed systems. SurveyJS supports markdown. However, we do not create just another markdown library; we give you the ability to use any markdown you want. Of course, we could spend another several months of work and after that couple of years to fix all issues. We are sure, at the end, we would have a good our own markdown library, but why should we do something that other people have already done. There are several good markdown libraries, including under a MIT license that you may integrate into SurveyJS with 5-10 lines of code, just check out the code.
Represent Survey Model as JSON
Survey Results as JSON
As you may imagine, the SurveyJS result is a JSON as well. You may get the JSON result at any time, for example: on survey complete, on page change or value change. You may set to the SurveyJS a previously entered result or predefined data. Of course, you may get or set the value of an individual question at any moment as well.
The most complex surveys need to change the survey flow. You have to change the questions, panels and pages visibility or skip some pages. SurveyJS provides you with an easy way to achieve this.
In many cases, the survey question models have to be dynamic. The data should come from different services and could not be static. SurveyJS gives you the ability to load the data from restful API without writing a single line of code. Of course, you are free to change the survey model in the code, it gives you again an unlimited possibilities.
Localization and Multi-languages support
We are not native English speakers ourselves and of course, we fully understand the importance of product localization. Like many other libraries, we are offering the translation of SurveyJS strings to many languages. It is created and supported by the community. However, what about multi languages support in one survey? What happens if you have to run the same survey, for example, for your English and Spanish speaking clients. Should you create two different surveys? SurveyJS has a built-in support for multi-languages. Something, you will unlikely find in the most survey solutions.
Find out even more
We may continue to talk about SurveyJS library functionality, like display mode (for reviewing the results), answers validation, text pre-processing, custom navigation and more. You may look at our examples and explore them by yourself. If, for some reason, you find that SurveyJS library misses a required functionality, then create an issue in the SurveyJS GitHub repo and we do our best to assist you.