One model, one class
FieldApi for leaf inputs, nested objects and arrays alike; FormApi is just the FieldApi at the root, plus submit handling. A form is just a tree of nodes, mirroring the DOM's own Node/Document shape.
Fast. Lightweight. Framework-agnostic. 100% type-safe.
| Kin Form | React Hook Form | Formik | TanStack Form | |
|---|---|---|---|---|
| Zero dependencies | โ | โ | โ | โ ๏ธ |
| Type-safe nested field paths | โ | โ | โ | โ |
| Built-in async-validation debounce | โ | โ | โ | โ |
โ full support ยท โ ๏ธ partial or conditional ยท โ not supported
Don't believe it? See full comparison with code examples โ