SurveyJS logo

SurveyJS

Render dynamic JSON forms across any JavaScript framework effortlessly

A free MIT‑licensed library that renders JSON‑driven, multi‑page forms, quizzes, and surveys in React, Angular, Vue, Knockout or plain JavaScript, while letting you store responses on your own server.

SurveyJS banner

Overview

Overview

SurveyJS Form Library is a client‑side component that lets developers embed dynamic, JSON‑defined forms into any JavaScript application. It targets front‑end engineers, product teams, and enterprises that need full control over form rendering, validation, and data handling.

Capabilities & Deployment

The library ships with native integrations for React, Angular, Vue, and Knockout (jQuery via a wrapper) and works with plain HTML/JS as well. All form metadata and results are exchanged as JSON, so you can connect to any backend—PHP, ASP.NET Core, Node.js, or custom services. Because data is stored on your own servers, there are no limits on form count, submissions, or file uploads. Features include 20+ accessible input types, conditional logic, calculations, theming, auto‑localization, RTL support, and an expression language for on‑the‑fly data aggregation. Weekly updates and extensive demos keep the library current and easy to adopt.

Highlights

Native support for React, Angular, Vue, and Knockout
Unlimited forms and submissions with self‑hosted storage
20+ accessible input types with conditional logic and calculations
Built‑in theming, localization and RTL language support

Pros

  • MIT license allows unrestricted commercial use
  • Framework‑agnostic with official bindings for major UI libraries
  • No server‑side limits; you control data privacy
  • Extensive feature set including validation, auto‑save, and expression language

Considerations

  • Requires a custom backend to persist responses
  • Form design relies on JSON schema, which has a learning curve
  • Visual drag‑and‑drop builder is a separate product (Survey Creator)
  • Full feature bundle can increase client‑side payload size

Managed products teams compare with

When teams consider SurveyJS, these hosted platforms usually appear on the same shortlist.

Formester logo

Formester

Online form builder with workflows and integrations

Google Forms logo

Google Forms

Form builder for surveys and quizzes with Sheets integration

Jotform logo

Jotform

Online form builder with conditional logic, payments, and workflow automation

Looking for a hosted option? These are the services engineering teams benchmark against before choosing open source.

Fit guide

Great for

  • Front‑end developers building custom surveys or quizzes
  • Enterprises that must keep form data on‑premises
  • Teams using React, Angular, Vue, or Knockout
  • Projects needing offline or self‑hosted form handling

Not ideal when

  • Users looking for a turnkey SaaS survey platform
  • Non‑technical stakeholders without JSON expertise
  • Applications with strict bundle‑size constraints
  • Teams that require built‑in analytics dashboards

How teams use it

Multi‑page registration wizard

Collect step‑by‑step user information with auto‑save and validation, storing data in the company’s database.

Scored quiz for e‑learning

Render questions, calculate scores in‑form using the expression language, and submit results for certification.

Insurance quote calculator

Use dynamic calculations and conditional fields to generate real‑time premium estimates based on user input.

Post‑checkout pop‑up survey

Gather customer feedback immediately after purchase, with responses sent to an internal analytics endpoint.

Tech snapshot

TypeScript87%
JavaScript5%
HTML5%
SCSS2%
Vue2%
PEG.js1%

Tags

vue3vueformsweb-formsreactsurveydynamic-form-builderjsonsurveyjsquizform-builderquestionnaireangularformtypescriptjavascriptreactjssurveysjqueryknockoutjs

Frequently asked questions

What license does SurveyJS Form Library use?

It is released under the MIT license, allowing free commercial and private use.

How do I integrate the library with React?

Install the `survey-react` package and use the `<Survey>` component, passing your form JSON as a prop.

Where are form submissions stored?

The library does not provide storage; you send the JSON results to your own server or API.

Can the forms be localized?

Yes, it includes auto‑localization, multi‑locale support, and right‑to‑left language handling.

Is there a visual form builder included?

A drag‑and‑drop builder is offered as a separate product called Survey Creator.

Project at a glance

Active
Stars
4,657
Watchers
4,657
Forks
900
LicenseMIT
Repo age10 years old
Last commityesterday
Self-hostingSupported
Primary languageTypeScript

Last synced 12 hours ago