Repolode
TanStack

TanStack/form

A headless, type-safe form state library for TypeScript, JavaScript, React, Vue, Angular, Solid and Lit.

Stars
6,765
Forks
710
Open issues
220
Last commit
5 days ago

What is it?

TanStack Form manages the state of complex forms: field values, touched and dirty status, validation errors and submission. It is headless, so it provides the logic and leaves rendering entirely to your own UI components.

The library is framework-agnostic at its core and ships adapters for React, Vue, Angular, Solid and Lit. It is written in TypeScript and aims to keep form types inferred end to end. Validation can be synchronous or asynchronous, with debouncing, and supports nested fields for structured data.

The project is part of the TanStack ecosystem and is documented on the TanStack website.

Key features

  • 01Headless design, so you bring your own UI
  • 02Type-safe field and form state with TypeScript inference
  • 03Sync and async validation with debouncing
  • 04Nested fields for structured form data
  • 05Adapters for React, Vue, Angular, Solid and Lit

Use cases

  • Building complex multi-step or nested forms in a React or Vue app
  • Adding typed form handling to a design system with custom components
  • Running async validation such as checking username availability

Topics

FAQ

What is form?
A headless, type-safe form state library for TypeScript, JavaScript, React, Vue, Angular, Solid and Lit. TanStack Form manages the state of complex forms: field values, touched and dirty status, validation errors and submission. It is headless, so it provides the logic and leaves rendering entirely to your own UI components.
Is form free to use? What license does it have?
form is open source under the MIT license. Check the license terms before using it in commercial products.
Is form still maintained?
Actively maintained. The last commit to form was on Nov 3, 2026.
What can I use form for?
Building complex multi-step or nested forms in a React or Vue app Adding typed form handling to a design system with custom components Running async validation such as checking username availability
Where can I get form?
The source code and installation instructions are on GitHub: https://github.com/TanStack/form

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects