# Open-source, framework-agnostic, AI-ready form ecosystem

> Schema-driven logic, validation, visibility, and calculations for web, CLI, mobile, and AI agents.

Try it!: https://form0.dev/#playground

View docs: https://docs.form0.dev

## Discover

Who form0 is for, what it does, how you build with it, and why it is shaped this way.

### Who?

form0 is built for developers and anyone comfortable using a CLI and code editor. You have full control over your form logic, schema, and integration.

### What?

A schema-driven form engine that handles calculations, visibility, validation, and events. Framework-agnostic core with UI components for React and React Native.

- JSON-based schema definition
- Runs anywhere: Node.js, browsers, mobile
- UI components via a dedicated library
- No auth, no data persistence: you own it

### How?

Multiple ways to build and edit your form schema:

- Edit JSON schema manually
- Import from CSV file
- CLI: manually add/edit/remove fields
- CLI: AI-assisted editing (Coming soon)
- Drag-and-drop UI in reform — https://reformapp.io

### Why?

One JSON schema drives both web and mobile apps, with no code duplication. Logic like calculations and visibility lives in the schema, not scattered across components. Embed form0 into any existing project with zero framework lock-in.

**For Teams & Organizations**

- Infrastructure inspections (buildings, utilities, equipment)
- Environmental surveys and audits
- Mobile workforce apps with offline support
- Compliance forms with complex conditional logic
- Online surveys and questionnaires
- And more...

**For Personal Projects**

- Collection management (books, records, collectibles)
- Field data apps (nature observation, travel logs)
- Inventory and asset tracking
- Structured data capture on the go
- Online surveys and questionnaires
- And more...

## FAQ

What people ask before installing.

### How is form0 different from React Hook Form, Formik, or form.io?

They solve different layers of the problem, so the answer depends on which one you are comparing.

React Hook Form and Formik manage form state inside a single React app. You still write the conditional logic, validation, and calculations by hand, in components. form0-core moves that logic into a JSON schema and runs it anywhere: Node, browser, React Native, CLI. It is not a competitor to them, it is the layer underneath, and the two can coexist.

form.io is the closest relative, a JSON-driven engine with a builder and a renderer of its own. The difference is how much you keep control of. form0-core is only the engine, with no renderer and no data model imposed on you. form0-react and form0-react-native give you ready-made components when you want them, and every one of them can be replaced or ignored, so the form logic fits the design system you already have instead of the other way around.

### Should I use form0, ODK, or KoboToolbox?

ODK and KoboToolbox are complete data-collection systems: a form standard (XLSForm), a mobile app, and a server. They are good at what they do, and if you need a ready-made field-survey stack you should probably use them. The trade is that you adopt their app, their format, and their backend.

form0 is for teams building their own product, who want the form logic without inheriting a platform: your UI, your database, your release cycle. If you want an application handed to you, use ODK or KoboToolbox. If you want a form engine inside the application you are already building, use form0, and if you would rather not run any of it yourself, reform is the hosted option.

### Is form0 ready to use?

It is in active development. The schema format is stable in practice, the field types, operators, and condition syntax have settled, but small changes and new features are still planned. Pin your versions and read the release notes before upgrading. Start building with it now, a formally stable release is coming.

### How does form0 relate to reform? Is this open-core?

No. form0 is MIT and stays MIT. The engine is complete in the open-source packages: logic, validation, visibility, calculations, events, and connectors. Nothing is held back to push you toward a paid tier. AI-assisted schema editing is in progress and will land in the open-source CLI too, with your own API key.

reform is a commercial platform built on top of form0: hosting, a drag-and-drop schema builder, public forms, and data analysis and export tools. It also has a mobile app that keeps working offline and syncs when the connection returns. It is the option for people who would rather not run any of it themselves. If you never want it, form0 is fully usable without it.

By sponsoring form0 you help fund infrastructure, documentation, testing, and community resources for the open-source project.

### Where does my form data go?

Nowhere, unless you send it somewhere. The form0 ecosystem has no accounts, no telemetry, and no hosted backend. form0-core evaluates a schema and returns state. Persistence is opt-in through connectors: PostgreSQL and SQLite today, more later, or write your own against the connector interface. You choose the destination and you own the data.

### Can I use my own components and design system?

Yes, that is the point of the split. form0-core has no UI at all. form0-react and form0-react-native are the bindings available today, and they ship components for the common field types if you want a fast start. You can replace any of them, or skip the bindings entirely and drive the engine from your own components. Bindings for other frameworks may follow, and nothing stops you from writing your own in the meantime.

The engine tells you what is visible, required, read-only, and invalid. How it looks is yours.

### Does it really work on React Native, and offline?

Yes. form0-core has zero dependencies and uses no Node built-ins, so it runs unchanged in a mobile JavaScript runtime, and form0-react-native wraps it for Expo and bare React Native. Evaluation is entirely local and synchronous, so a form works with no network at all. Syncing captured records once connectivity returns is your app's job, not the engine's.

### What does "AI-ready" mean?

Two things. First, a form0 schema is plain JSON with a documented shape, so a model can read, write, or modify one without touching your application code. That makes AI-led form generation straightforward, and it is what the AI-assisted editing coming to the CLI builds on. That work is in progress and not available yet.

Second, fields can carry attributes that give a model context about what they mean, so an assistant can reason about a form instead of guessing from labels. That opens up conversational filling, completing a form by talking to it rather than tapping through it. The engine makes this possible, the experience is yours to build, and a proof of concept is planned for form0-react-native.

### Do I need to use the CLI?

No. form0-core is a normal npm package: install it, pass it a schema, call eval(). The CLI exists because it makes building and testing schemas much faster, with live preview, file watching, test values, and connectors. The install command on this page starts with the CLI because that is the best first hour, not because anything depends on it.

### Is this the same as other products called form0?

No. This form0 is the open-source form engine published by paqu.io, distributed on npm as form0-core, form0-cli, form0-react, form0-react-native and the connectors, with the source at github.com/paqu-io.

At least one unrelated product shares the name, including a hosted, privacy-first form builder aimed at n8n automation workflows. It has no connection to this project: form0 here is a developer library you install and run yourself, with no hosted service, no accounts and no built-in webhook integrations. If you arrived from form0.dev or docs.form0.dev, or installed one of the packages above, you are in the right place.
