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 SurveyJS in action
Built-in question types
SurveyJS Library includes all types of questions you’d expect from survey software – from simple text entry and check boxes to dynamic matrixes with different input types, like shown in this live example. We even implemented a special Panel container so you can easily handle groups of questions as one. For the complete list of supported question types with live samples, refer to our documentation.
Design and Bootstrap support
If you’re using an end-user service, and we’ve seen many, you’re likely to be very limited in design options. You can select a pre-defined color scheme and insert your logo – but rarely anything else. And it’s totally expected from a user-oriented product, which targets people that don’t want anything to do with “raw” CSS. So to give users any real customization freedom, the service would have to implement an editor of enormous complexity.
SurveyJS, as a developer library, is free from those limitations. You can customize each and every element with CSS and if your site uses Bootstrap, you can simply tell SurveyJS to render itself using your Bootstrap theme.
Markdown for Text Formatting
The questions, the answer options – all the text in your survey can be easily formatted using markdown. SurveyJS supports integration with markdown libraries – and there’s a number of very reliable and popular ones, including open source solutions with the MIT license. It’s just another example of SurveyJS flexibility. Look at the sample – just a few lines of code for complete text formatting support via a third-party library.
Survey Model in JSON
SurveyJS is fully transparent in any aspect, including this one. The survey model – the question types, the order, the skipping logic, the answer variants – everything is stored in human-readable JSON. Even if you use WYSIWYG SurveyJS Editor to create the survey, the results is JSON that you can feed to SurveyJS Library. This step will of course happen automatically if you choose to store and load the model using our SurveyJS Service.
Survey Results in JSON
It would only be logical to assume that SurveyJS generates results as JSON as well. Pick any moment to obtain your data: on survey completion, or when a user navigates to the next page, or picks a value out of a list. You can even pre-load a JSON with suggested answers. And you can manipulate results on a lower level, by freely obtaining or setting data in individual questions at any time.
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.