# surveyjs/survey-library

Open-source JavaScript form library for React, Angular, Vue, and plain JavaScript. Render dynamic JSON-driven forms, multi-step form wizards, surveys, quizzes, and other data-entry tools.

Repository: https://github.com/surveyjs/survey-library
Canonical: https://ross.abutalabs.com/products/survey-library
Homepage: https://surveyjs.io/form-library
Language: TypeScript
License: MIT
License Family: permissive
Topics: survey, javascript, typescript, angular, jquery, reactjs, json, vue, react, forms, questionnaire, quiz, surveys, surveyjs, vue3, form, web-forms, form-builder, dynamic-form-builder, form-library
Last push: 2026-08-26T21:18:43+00:00

## Health v2 (maintenance only)
Score: 95/100 (v2, computed 2026-09-03T02:39:23.370411+00:00)
- activity 99, release rhythm 87, longevity 100
- inputs: {"age_days": 4037, "days_push": 7, "days_rel": 7, "gap_med": 6.0, "n_releases_24m": 85}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 4854, forks 923 (observed 2026-08-28T04:09:01.449916+00:00)

## What it is
SurveyJS Form Library is a free, MIT-licensed JavaScript library for rendering dynamic, JSON-driven forms, surveys, quizzes, and multi-step wizards in React, Angular, Vue, jQuery, and plain JavaScript apps. Form structure, validation, conditional logic, and theming are defined via JSON schemas, with submissions sent to any backend of your choice.

## Use cases
- build multi-step form wizards in react
- create surveys and questionnaires in a web app
- render dynamic json-driven forms
- add quizzes with scoring to a website
- collect form responses and send to my own backend
- build popup feedback surveys
- localize forms in multiple languages
- create accessible web forms with validation and conditional logic

## When to choose
- you need complex, dynamic forms or surveys across React, Angular, Vue, or vanilla JS
- you want JSON-defined form logic, validation, and conditional branching without hand-coding UI
- you need full control over data storage with any backend
- you want 20+ accessible input types, multi-page forms, and localization out of the box

## When to avoid
- you need a simple static contact form where plain HTML suffices
- you want a fully hosted form service with third-party data storage
- you need a drag-and-drop builder UI without purchasing the separate Survey Creator product
- your project is not JavaScript/web-based

## Facets
- artifact type: library
- maturity: stable
- function: ui-components, form-handling, frontend-framework, json, internationalization, theme
- domain: web-development, frontend, web-design, developer-tools, analytics
- platform: browser, cross-platform
- tags: forms, surveys, quizzes, json-schema, react, angular, vue, multi-step-forms, data-collection, mit-license, nodejs, web-server

## Member repositories
- surveyjs/survey-library (main) score 95

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:09:01.449916+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T18:18:23.986199+00:00, confidence not recorded.
  - readme: https://github.com/surveyjs/survey-library (fetched 2026-08-28T04:09:01.449916+00:00, sha 34afd5fbc6dd)
  - homepage: https://surveyjs.io/form-library (fetched 2026-08-29T09:01:42.481451+00:00, sha 39376a5ad559)
  - site_page: https://surveyjs.io/features (fetched 2026-08-29T09:01:42.490492+00:00, sha 7565a7e8199b)
  - site_page: https://surveyjs.io/documentation (fetched 2026-08-29T09:01:42.492359+00:00, sha d5ba9dc2265d)
  - site_page: https://surveyjs.io/form-library/documentation (fetched 2026-08-29T09:01:42.499747+00:00, sha 83c93c1f8a31)
  - site_page: https://surveyjs.io/form-library/documentation/survey-localization (fetched 2026-08-29T09:01:42.501383+00:00, sha 93e488db3ab4)
  - site_page: https://surveyjs.io/documentation/backend-integration (fetched 2026-08-29T09:01:42.503067+00:00, sha 5fe4fbd4f589)
  - site_page: https://surveyjs.io/faq (fetched 2026-08-29T09:01:42.493895+00:00, sha f5a2ab5a934b)
  - site_page: https://surveyjs.io/stay-updated/release-notes (fetched 2026-08-29T09:01:42.495582+00:00, sha 19e18f9fe3cd)
  - site_page: https://surveyjs.io/pricing (fetched 2026-08-29T09:01:42.497930+00:00, sha 9b9c8d31434c)
- Data as of 2026-08-30T08:39:29.467469+00:00.
