Survey-library
by surveyjs
SurveyJS: Framework-Agnostic Form & Survey Builder
Build dynamic forms, surveys, and quizzes with JSON-driven configuration. Works seamlessly with React, Vue, Angular, and vanilla JS.
- 4,659+ GitHub stars
- Built with TypeScript
- JSON-based form definition with 20+ built-in question types
- MIT License license
About This Project
SurveyJS is a powerful TypeScript-based form builder that lets developers create complex surveys, questionnaires, and data collection forms using simple JSON schemas. Instead of manually coding form markup and validation logic, you define your form structure declaratively and let SurveyJS handle rendering, state management, and user interactions across multiple frameworks.
The library excels at building dynamic forms where questions can change based on user responses, making it ideal for conditional logic workflows, multi-step wizards, and adaptive questionnaires. With built-in support for 20+ question types, skip logic, validation rules, and piping, you can create sophisticated data collection experiences without reinventing the wheel.
What sets SurveyJS apart is its true framework-agnostic architecture. Whether your team uses React, Angular, Vue 3, jQuery, or Knockout, you write your form definition once and deploy it anywhere. The same JSON schema works across all platforms, making it perfect for teams with diverse tech stacks or projects transitioning between frameworks.
The library includes a visual form designer, extensive theming capabilities, and export options for PDF and analytics. It handles complex scenarios like matrix questions, file uploads, and custom widgets while maintaining a clean, accessible UI that works on mobile and desktop devices.
Key Features
- JSON-based form definition with 20+ built-in question types
- Native integrations for React, Vue, Angular, jQuery, and Knockout
- Conditional logic and skip patterns for dynamic surveys
- Visual form designer for non-technical users
- Built-in validation, piping, and calculated values
- PDF export and analytics integration support
- Responsive design with customizable themes and CSS
- Multi-language support and localization capabilities
How You Can Use It
Customer feedback and satisfaction surveys with conditional branching
Multi-step application forms with progress tracking and validation
Employee onboarding questionnaires and HR assessments
Educational quizzes and exams with scoring and time limits
Market research tools with dynamic question routing
Product configurators requiring user input collection
Who Is This For?
Frontend developers building data collection applications, product teams needing flexible survey solutions, and enterprises requiring framework-independent form infrastructure