Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including react-hook-form with all npm packages installed. Try it out:

require("react/package.json"); // react is a peer dependency. var reactHookForm = require("react-hook-form")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

react-hook-form v6.3.0

Performant, flexible and extensible forms library for React Hooks

Performant, flexible and extensible forms with easy to use validation.

npm downloads npm npm Coverage Status

English | 繁中 | 简中 | 日本語 | 한국어 | Français | Italiano | Português | Español | Русский | Deutsch | Türkçe



npm install react-hook-form



import React from 'react';
import { useForm } from 'react-hook-form';

function App() {
  const { register, handleSubmit, errors } = useForm(); // initialise the hook
  const onSubmit = (data) => {

  return (
    <form onSubmit={handleSubmit(onSubmit)}>
      <input name="firstname" ref={register} /> {/* register an input */}
      <input name="lastname" ref={register({ required: true })} />
      {errors.lastname && 'Last name is required.'}
      <input name="age" ref={register({ pattern: /\d+/ })} />
      {errors.age && 'Please enter number for age.'}
      <input type="submit" />


Want your logo here? DM on Twitter


Thanks goes to all our backers! [Become a backer].


Thanks goes to these wonderful organizations! [Contribute].


Thanks goes to these wonderful people! [Become a contributor].

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free