---
title: Form Library | SurveyJS
description: SurveyJS Form Library is a free MIT-licensed client-side component that allows you to render dynamic JSON-based forms in any JS application and store all data in your database. It features over 20 accessible input fields, input validation, partial submits and auto-save, localization, and has native supports Angular, React, Vue 3, and Vanilla JavaScript.
---
# Form Library - Overview

SurveyJS Form Library is a free MIT-licensed UI component that allows you to render dynamic JSON-based forms in any JavaScript application, collect responses from users, and send all form data to your database. You can use it for multi-page forms of any length and complexity, pop-up surveys, quizzes, scored surveys, calculator forms, and more.

<img src="images/overview.png" alt="SurveyJS Form Library" width="1024" height="675">

## Get Started

- [Angular](https://surveyjs.io/Documentation/Library?id=get-started-angular)
- [Vue](https://surveyjs.io/Documentation/Library?id=get-started-vue)
- [React](https://surveyjs.io/Documentation/Library?id=get-started-react)
- [HTML/CSS/JavaScript](/form-library/documentation/get-started-html-css-javascript)

## Features

- Open-source on [GitHub](https://github.com/surveyjs/survey-library)
- APIs and learning materials (code snippets, online documentation)
- Unlimited forms, submissions and file uploads
- [All data on your own servers](https://surveyjs.io/form-library/documentation/how-to-store-survey-results)
- No watermarks/nag screens/referral badges
- Native support for React, Angular, Vue, and Vanilla JavaScript
- Integration of the Vanilla JavaScript version into jQuery applications
- [Any server & database](https://surveyjs.io/documentation/backend-integration)
- [Integration demos for PHP, ASP.NET Core, and NodeJS](https://surveyjs.io/backend-integration/examples)
- TypeScript support
- Dynamic JSON-driven forms
- 20+ accessible input types
- Panels for question grouping
- Multi-page forms
- Quizzes & scored surveys
- Calculator forms
- Survey pop-ups
- Duplicate group option
- [Input validation](https://surveyjs.io/form-library/documentation/data-validation)
- Partial submits & auto-save
- Text formatting
- Lazy loading
- Carry forward responses
- Text piping
- Data aggregation
- Autocomplete
- Custom form branding
- Custom input fields
- Custom rendering
- Conditional logic & form branching
- Payment integration
- Integration with 3rd-party libraries
- Support for webhooks
- Expression language (Built-in & custom functions)
- Free templates
- Load choices from web services
- e-Signature field
- Image capture
- All popular types of form navigation
- [Auto-localization and multi-locale surveys](https://surveyjs.io/form-library/documentation/survey-localization)
- Support for RTL languages
- [120+ starter demos & tutorials](https://surveyjs.io/form-library/examples/overview)
- [Weekly updates](https://surveyjs.io/stay-updated/release-notes)

## What's New

Visit our [Major updates](https://surveyjs.io/stay-updated/major-updates/2024) compilation and [Roadmap](https://surveyjs.io/stay-updated/roadmap) for information on newly implemented features and features planned for 2024.

## Licensing

SurveyJS Form Library is distributed under the [MIT license](https://github.com/surveyjs/survey-library/blob/master/LICENSE).
