What is FormEngine?
FormEngine is a React library that renders fully functional forms from JSON schemas. You define the form structure, validation rules, conditional logic, and layout in a single JSON object — FormEngine handles rendering, state management, and user interaction automatically.Free and open-source. The core runtime is MIT-licensed — no seat limits, no attribution required, no cost. Production-ready today.
What you get
| Capability | How it works |
|---|---|
| JSON-driven forms | Describe any form as a JSON object — FormEngine renders it as a React component |
| Built-in validation | Zod-backed rules declared in the schema, no extra wiring |
| Conditional logic | Show/hide fields, compute values, change options — all from JSON |
| Pluggable UI | Same schema renders with Material UI, Mantine, React Suite, or your own components |
| No redeploy | Update the JSON → the form updates instantly in production |
| TypeScript | Typed schemas, typed props, typed data — end to end |
How FormEngine is different
If you’ve used React Hook Form, Formik, or similar libraries — FormEngine replaces the pattern where you write JSX for every field with a declarative JSON approach. Add a field by adding a line to JSON, not by writing a new component.| React Hook Form / Formik | FormEngine | |
|---|---|---|
| Form definition | JSX + hooks per field | One JSON object |
| Add a new field | New React component + validation code | One line in JSON |
| Change form at runtime | Rebuild and redeploy | Update JSON, no redeploy |
| Conditional visibility | Custom JSX logic | Declared in schema |
| UI library | Tied to one library | Same schema → MUI, Mantine, RSuite, custom |
| Visual builder | None | FormEngine Designer (embeddable) |
| License | MIT | MIT (Core) |
Minimal code example
Quick Start
Working form in 60 seconds
NPM Package
Install from npm registry
GitHub
Source code and issues
The FormEngine Suite
FormEngine is not just a library — it’s an ecosystem of four tools that share the same JSON schema format.FormEngine Core
Free forever — MIT license, no limitsOpen-source React runtime. JSON in, form out. Works with Material UI, React Suite, Mantine, or your own components. Validation, conditional logic, computed properties, localization, TypeScript. No seat limits, no attribution required.
FormEngine Designer
Commercial — embeddable visual builderDrag-and-drop form builder that you embed directly into your React app. Non-technical users create and edit forms visually. Outputs the same JSON that Core renders. White-label ready. Includes premium components: Data Grid, Rich Text, Signature, Maps, QR Code.
Online FormBuilder
Hosted, freeBuild forms in your browser — no setup, no install. Prototype, test components, export JSON for use with Core. Perfect for quick experiments.
AI Form Builder
Hosted, free previewDescribe your form in plain English — AI generates the JSON schema. Output plugs straight into Core.
How the pieces fit together
All four tools produce the same FormEngine JSON schema. Core reads that JSON and renders it as a React form using your chosen UI library. You can mix and match: generate a base schema with AI → refine it in Designer → render with Core in production.Choose Your Path
Ship a form in 60 seconds
Get a working form up and running with just a few lines of code.
Browse 35+ components
Fields, layouts, and actions — all free with MIT license.
Write forms in code
Build forms with JSON or JSX. Full control, type-safe, MIT-licensed.
Build forms visually
Drag-and-drop builder for non-technical users. Embed in your app.
Compare alternatives
FormEngine vs React Hook Form, Formik, SurveyJS, form.io, and more.
Migrate from existing lib
Switching from React Hook Form or Formik? Step-by-step guides.
What’s Inside
- For Developers
- For Architects
- For Non-Technical Users
Get up and running with hands-on guides and best practices.
- Quick Start — working form in 60 seconds
- Building forms in code — JSON and JSX patterns
- TypeScript guide — typed schemas, inferred data, generic forms
- Form submission — fetch, loading state, error handling
- Testing forms — React Testing Library, Playwright, jest-axe
- Accessibility — WCAG 2.1 AA checklist
Popular Tutorials
Get started with real-world examples and step-by-step guides.Build forms in code
Learn JSON and JSX patterns for crafting form schemas programmatically.
Track form changes
Implement dirty state detection to notify users about unsaved changes.
Cascading dropdowns
Dynamically populate fields based on user selections—linked dropdowns in action.
Dynamic field arrays
Add, remove, and manage repeating form sections with the Repeater component.
Maps & address autocomplete
Integrate Google Maps and address autocomplete for location-based forms.
Migrate from React Hook Form
Step-by-step guide to switch from React Hook Form to FormEngine.
Community & Support
- GitHub repository — source code, issues, discussions, and community contributions
- NPM: @react-form-builder/core — install Core
- Release notes — every version, breaking changes, and new features
- Get help — questions, bug reports, and dedicated support