
SurveyJS is a set of four open-source JavaScript libraries that offer the benefits of a tailor-made in-house survey application, while considerably reducing the time and resources needed to deploy the system. These libraries are independent of specific server code or database requirements and seamlessly integrate with popular JavaScript frameworks, including React, Angular, Vue.js, jQuery, Knockout, and more. They are designed to communicate with any server that can handle JSON requests, ensuring compatibility with various server architectures and databases.
The product family is composed of:
- An open-source MIT-licensed rendering library that renders dynamic JSON-based forms in your web application, and collects responses.
- A self-hosted drag & drop form builder that features an integrated CSS-based theme editor and a GUI for conditional rules. It automatically generates JSON definitions (schemas) of your forms in real time.
- PDF Generator, a library that renders SurveyJS surveys and forms as PDF files in a browser;
- The Dashboard library that allows you to simplify survey data analysis with interactive and customizable charts and tables.
Visit our website to try out and evaluate our full-scale demo for free.
Learn more

Install-free PDF editing, form filling, redaction, signing, viewing, and more on your website with RAD PDF!
Packaged as an easy to use library / WebControl (compatible with .NET 3.5+, .NET Core, and .NET 5+), RAD PDF can be used with just about any flavor of ASP.NET including MVC, Razor, Blazor, WebForms, and more.
RAD PDF is compatible with 99% of internet browsers, including those on Linux, Mac OS X, Microsoft Windows, and mobile. No plugins. No Adobe Reader. RAD PDF is more than a PDF to HTML converter. It natively supports all the most common PDF features including annotations, bookmarks, form fields, page labels, and more.
With advanced PDF options, RAD PDF allows you to selectively enable and disable features not available with Adobe Acrobat Reader, like protecting a PDF from being downloaded while still viewable online.
RAD PDF users can use PDF form fields directly from the web browser by enabling PDF form filling and PDF form saving without having to install any software.
Integrating directly with ASP.NET, RAD PDF allows your web application to capture input data, build custom workflows, and provide an intuitive graphical user interface (GUI) for just about any online PDF interaction imaginable!
Learn more
Screenfull.js
This is a straightforward wrapper designed for cross-browser compatibility with the JavaScript Fullscreen API, enabling you to switch the entire page or specific elements into fullscreen mode. It effectively smooths out variations in browser implementations, relieving you of that burden. If you find yourself unable to utilize ES modules or require compatibility with older browsers without using transpilers, consider opting for version 5.2.0, which is compact at just 0.7 kB when gzipped. Additionally, you can access an older version via cdnjs. While Safari supports fullscreen on desktop and iPad, it is important to note that iPhones do not have this capability due to browser restrictions, which are not attributable to Screenfull itself. This library allows you to fullscreen either the entire page or specific elements while also hiding the navigation interface on mobile devices. You can easily initiate fullscreen for an element using jQuery and toggle it for images as well. Furthermore, it includes features to detect changes in fullscreen status, remove event listeners, handle fullscreen errors, and manage fullscreen elements with Angular.js. Remember that fullscreen mode can only be activated in response to user interactions such as clicks, touches, or key presses, ensuring a seamless user experience. Overall, this wrapper offers a comprehensive solution for incorporating fullscreen functionality across various web applications.
Learn more
RequireJS
RequireJS serves as a loader for JavaScript files and modules, primarily designed for optimal performance within web browsers, although it is also compatible with other JavaScript environments such as Rhino and Node. Utilizing a modular script loader like RequireJS can significantly enhance both the efficiency and quality of your code. This configuration presumes that all JavaScript files are organized within a "scripts" directory in your project. To maximize the benefits of this optimization tool, it is advisable to avoid inline scripts in your HTML and instead utilize a requirejs call for loading your scripts, ensuring they correspond to the path some/path/some/module.js. Furthermore, adopting the CommonJS syntax is preferable, as it is expected to gain traction over time, facilitating code reuse across different modules within the project. By implementing this approach, developers can achieve a more streamlined and maintainable coding environment.
Learn more