form0form0

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

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

npm install -g form0-cli
Try it!View docs

Live playground

A real form0 workspace, in your browser

Use the interactive CLI, edit files, launch web and Expo projects, and try SQLite or PostgreSQL in a disposable environment.

{

"name": "Site Inspection",

"elements": [

{ "type": "TextField", "data_name": "site", "required": true },

{ "type": "NumericField", "data_name": "units" },

{ "type": "NumericField", "data_name": "unit_cost" },

{ "type": "CalculatedField", "data_name": "total",

"calculate": "SETRESULT(ROUND($units * $unit_cost, 2));" },

{ "type": "TextField", "data_name": "sign_off",

"visible_conditions": { "field_id": "total", "operator": "greater_than", "value": 5000 } }

]

}

Terminal

form0@playground:~/quickstart$ form0 test

schema valid · 5 fields · 1 calculated · 1 conditional

form0@playground:~/quickstart$

Preview of the form0 playground editor and terminal

Playground preview

The live environment is not enabled yet. You can still install form0 locally above.

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 editingComing soon
  • Drag-and-drop UI in reform

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.

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.

Support the project

form0 is free and MIT licensed. It gets better when people use it, report what breaks, and pitch in.

Contribute

Open an issue when something does not work, or send a pull request. A bug report that comes with a way to reproduce it is worth as much as code.

Sponsor

Sponsorship covers the running costs of an open-source project: infrastructure, documentation, and testing.

Sponsorship is not open yet — it will be shortly. In the meantime, a star or a pull request helps just as much.

Spread the word

Star the repositories, write about what you built, or tell someone who is wrestling with form logic. Visibility is what brings the next contributor.