Get started | API | Form Builder | FAQs | Examples
- Built with performance, UX and DX in mind
- Embraces native HTML form validation
- Out of the box integration with UI libraries
- Small size and no dependencies
- Support Yup, Zod, AJV, Superstruct, Joi and others
npm install react-hook-form
import{useForm}from'react-hook-form';functionApp(){const{
register,
handleSubmit,formState: { errors },}=useForm();return(<formonSubmit={handleSubmit((data)=>console.log(data))}><input{...register('firstName')}/><input{...register('lastName',{required: true})}/>{errors.lastName&&<p>Last name is required.</p>}<input{...register('age',{pattern: /\d+/})}/>{errors.age&&<p>Please enter number for age.</p>}<inputtype="submit"/></form>);}We’re incredibly grateful to these kind and generous sponsors for their support!
Thank you to our previous sponsors for your generous support!
Thanks go to all our backers! [Become a backer].
Thanks go to these wonderful people! [Become a contributor].

Documentation website supported and backed by Vercel





