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 formik with all npm packages installed. Try it out:

require("react/package.json"); // react is a peer dependency. var formik = require("formik")

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

formik v2.0.4

Forms in React, without tears


Build forms in React, without the tears.

Stable Release Blazing Fast gzip size license Discord Join the community on Spectrum

Visit to get started with Formik.

The below readme is the documentation for the next (prerelease) version of Formik. To view the documentation for the latest stable Formik version visit

Let's face it, forms are really verbose in React. To make matters worse, most form helpers do wayyyy too much magic and often have a significant performance cost associated with them. Formik is a small library that helps you with the 3 most annoying parts:

  1. Getting values in and out of form state
  2. Validation and error messages
  3. Handling form submission

By colocating all of the above in one place, Formik will keep things organized--making testing, refactoring, and reasoning about your forms a breeze.


In-browser Playgrounds

You can play with Formik in your web browser with these live online playgrounds.

  • CodeSandbox (ReactDOM)
  • Expo Snack (React Native)


Organizations and projects using Formik

List of organizations and projects using Formik



Formik is made with <3 thanks to these wonderful people (emoji key):

| [
Jared Palmer](
[💬](#question-jaredpalmer "Answering Questions") [💻]( "Code") [🎨](#design-jaredpalmer "Design") [📖]( "Documentation") [💡](#example-jaredpalmer "Examples") [🤔](#ideas-jaredpalmer "Ideas, Planning, & Feedback") [👀](#review-jaredpalmer "Reviewed Pull Requests") [⚠️]( "Tests") | [
Ian White](
[💬](#question-eonwhite "Answering Questions") [🐛]( "Bug reports") [💻]( "Code") [📖]( "Documentation") [🤔](#ideas-eonwhite "Ideas, Planning, & Feedback") [👀](#review-eonwhite "Reviewed Pull Requests") | [
Andrej Badin](
[💬](#question-Andreyco "Answering Questions") [🐛]( "Bug reports") [📖]( "Documentation") | [
Adam Howard](
[💬](#question-skattyadz "Answering Questions") [🐛]( "Bug reports") [🤔](#ideas-skattyadz "Ideas, Planning, & Feedback") [👀](#review-skattyadz "Reviewed Pull Requests") | [
Vlad Shcherbin](
[💬](#question-VladShcherbin "Answering Questions") [🐛]( "Bug reports") [🤔](#ideas-VladShcherbin "Ideas, Planning, & Feedback") | [
Brikou CARRE](
[🐛]( "Bug reports") [📖]( "Documentation") | [
Sam Kvale](
[🐛]( "Bug reports") [💻]( "Code") [⚠️]( "Tests") | | :---: | :---: | :---: | :---: | :---: | :---: | :---: | | [
Jon Tansey](
[🐛]( "Bug reports") [💻]( "Code") | [
Tyler Martinez](
[🐛]( "Bug reports") [📖]( "Documentation") | [
Tobias Lohse](
[🐛]( "Bug reports") [💻]( "Code") |

This project follows the all-contributors specification. Contributions of any kind welcome!


  • TSDX - Zero-config CLI for TypeScript used by this repo.

MIT License.


Financial Contributors

Become a financial contributor and help us sustain our community. [Contribute]



Support this project with your organization. Your logo will show up here with a link to your website. [Contribute]


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