react-final-form
A thin React wrapper around the framework-agnostic Final Form library, providing subscription-based form state management where only components depending on changed state re-render. It ships with zero bundle-affecting dependencies and a small footprint.
MITPermissive — free to use in commercial and proprietary software, with attribution.View license →
Production readiness
5/5- Actively maintainedCommits in the last 6 months
- No known vulnerabilitiesNo OSV advisories
- Clear, usable licenseMIT (permissive)
- Proven adoptionWidely used
- Has documentationDocumentation indexed
npm install react-final-formOur analysis
React Final Form is a lightweight React binding for Final Form, a subscriptions-based form state manager built on the Observer pattern so only components subscribed to changed state re-render.
When to use react-final-form
Good when you want fine-grained control over which fields re-render, a small bundle, and a framework-agnostic core (Final Form) that can be shared across UIs. Useful for complex forms where performance from selective subscriptions matters.
When not to
If you prefer the now-dominant uncontrolled/ref-based approach with minimal re-renders out of the box, React Hook Form is lighter to wire up. For teams already committed to a different paradigm or wanting active mainstream momentum, alternatives may be safer.
Strengths
- Very small gzipped footprint with no bundle-affecting dependencies
- Opt-in subscriptions reduce unnecessary re-renders
- Separation of form logic into a framework-agnostic core (Final Form)
- Mature, well-documented API and ecosystem of helpers
Trade-offs
- Render-props-heavy API can feel verbose compared to hook-first libraries
- Render-on-change controlled model can be less performant than uncontrolled approaches for very large forms
- Momentum has shifted toward React Hook Form in the broader community
- Requires understanding the separate Final Form core concepts
Maturity
Stable and battle-tested with a large user base (~7k stars) and an established docs site, but development pace has slowed and the wider ecosystem trend favors React Hook Form.
🏁 React Final Form
✅ Zero dependencies (that affect your bundle size)
✅ Only peer dependencies: React and 🏁 Final Form
✅ Opt-in subscriptions - only update on the state you need!
✅ 💥 3.0k gzipped 💥
React Final Form is sponsored by Sencha.
Comprehensive JS framework and UI components for building enterprise-grade web apps.
💬 Give Feedback on React Final Form 💬
In the interest of making 🏁 React Final Form the best library it can be, we'd love your thoughts and feedback.
React Final Form is a thin React wrapper for Final Form, which is a subscriptions-based form state management library that uses the Observer pattern, so only the components that need updating are re-rendered as the form's state changes.
Getting Started
🔄 Upgrading from v6 to v7?
See the Migration Guide for TypeScript-specific breaking changes and how to handle them.
