Skip to content
πŸ‘” Elegant form management primitives for the react hooks era.
JavaScript TypeScript
Branch: master
Clone or download

Kevin Wolf formal

Watch on GitHub Star on GitHub Tweet!

Elegant form management primitives
for the react hooks era.

PRs Welcome All Contributors Build Status Code Coverage Greenkeeper

@kevinwolf/formal @kevinwolf/formal-web @kevinwolf/formal-native


Working with forms on react can be a really repetitive task. Most of the existing abstractions provides a render props API and it is just not cool on the react hooks era.

Also, some of those packages do not provide out of the box support for both web and mobile platforms.


Formal is a cross-platform solution that exposes just the right primitives you need to manage your forms state and validations with ease.

Table of Contents


The usage of this package depends if you are using react web or react native.

Usage with React Web

For usage with React Web, refer to @kevinwolf/formal-web README.

Usage with React Native

For usage with React Native, refer to @kevinwolf/formal-native README.

Included packages

Name Description
@kevinwolf/formal πŸ‘” Elegant form management primitives for the react hooks era.
@kevinwolf/formal-web πŸ’» Web extension for @kevinwolf/formal.
@kevinwolf/formal-native πŸ“± Native extension for @kevinwolf/formal.

API Reference

For api reference, read this doc.

Examples and recipes

For more examples and specific recipes, visit the online storybook.

Articles / blog posts

πŸ’‘ If you have written any blog post or article about Formal, please open a PR to add it here.


Kevin Wolf
Kevin Wolf

πŸš‡ πŸ’» ⚠️ πŸ“–
Kent C. Dodds
Kent C. Dodds

Emerson Laurentino
Emerson Laurentino

Patrick Emmanuel
Patrick Emmanuel

Adam Boro
Adam Boro

Hilke Heremans
Hilke Heremans

πŸ› πŸ’»
Gabo Esquivel
Gabo Esquivel



If you have any question, suggestion or recommendation, please open an issue about it.

If you decided you want to introduce something to the project, please read contribution guidelines first.

Other solutions

This is heavily inspired on formik, which currently does not support react hooks. If you are aware or maintain a similar solution, please let me know.



You can’t perform that action at this time.