https://user-images.githubusercontent.com/10513364/152621466-59a41c65-52b4-4518-9d79-ffa3fafa498a.mp4
[](https://www.npmjs.com/package/react-hook-form)
[](https://www.npmjs.com/package/react-hook-form)
[](https://github.com/react-hook-form/react-hook-form/blob/master/LICENSE)
[](https://discord.gg/yYv7GZ8)
Get started |
API |
Examples |
Demo |
Form Builder |
FAQs
### Features
- Built with performance, UX and DX in mind
- Embraces native HTML form [validation](https://react-hook-form.com/get-started#Applyvalidation)
- Out of the box integration with [UI libraries](https://codesandbox.io/s/react-hook-form-v7-controller-5h1q5)
- [Small size](https://bundlephobia.com/result?p=react-hook-form@latest) and no [dependencies](./package.json)
- Support [Yup](https://github.com/jquense/yup), [Zod](https://github.com/vriad/zod), [AJV](https://github.com/ajv-validator/ajv), [Superstruct](https://github.com/ianstormtaylor/superstruct), [Joi](https://github.com/hapijs/joi), [Vest](https://github.com/ealush/vest), [class-validator](https://github.com/typestack/class-validator), [io-ts](https://github.com/gcanti/io-ts), [nope](https://github.com/bvego/nope-validator) and custom build
### Install
npm install react-hook-form
### Quickstart
```jsx
import React from 'react';
import { useForm } from 'react-hook-form';
function App() {
const {
register,
handleSubmit,
formState: { errors },
} = useForm();
const onSubmit = (data) => console.log(data);
return (
);
}
```
### Sponsors
Thanks go to these kind and lovely sponsors (companies and individuals)!
### Backers
Thanks go to all our backers! [[Become a backer](https://opencollective.com/react-hook-form#backer)].
### Contributors
Thanks go to these wonderful people! [[Become a contributor](CONTRIBUTING.md)].
### Helpers
Thank you for helping and answering questions from the community.
### Organizations
Thanks go to these wonderful organizations! [[Contribute](https://opencollective.com/react-hook-form/contribute)].