FormKit is a framework for building web forms in React and Vue. It gives developers a single component, called FormKit, that handles every type of input: text fields, dropdowns, checkboxes, passwords, and more. The goal is to reduce the repetitive work of wiring up forms by building validation, error messages, accessibility labels, loading states, and data structure into the component itself rather than requiring separate libraries for each concern. The core idea is that every input in a form owns a "node," and those nodes automatically organize the form's data into the shape of the component tree. Wrapping inputs in a group makes their data become a nested object, wrapping them in a list makes the data become an array. This means the structure of what gets submitted matches the visual layout without extra code to map one to the other. Validation rules are written directly on the input rather than in a separate schema file. The framework ships with over 30 built-in rules and shows error messages automatically in the correct language. Over 30 languages are included, and the active language can be switched at runtime. Accessibility attributes like ARIA labels and descriptions are generated automatically. Forms can also be defined entirely as JSON using a schema feature, which lets AI coding agents or other automated tools generate, modify, or serialize forms without touching component code. The README notes that FormKit was built partly with AI-assisted development workflows in mind and includes a command to configure popular coding agents such as Claude Code and Cursor with the right documentation. The base framework is open-source under the MIT license and covers all native HTML input types. A paid tier called FormKit Pro adds more complex input components such as autocomplete, date picker, drag-and-drop repeater, color picker, and others. The project is used by companies including NBC, Nike, and Bosch.
← formkit on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.