Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit

Declaring a rule to fail when the pointed at attribute does not exist
requires to lift the scope to the parent level. With the optional
'failWhenUndefined' property, conditions can now take a short cut for
these use cases.

Co-authored-by: Stefan Dirix <>

Git stats


Failed to load latest commit information.
Latest commit message
Commit time
September 1, 2023 15:22
April 7, 2017 18:01
April 5, 2019 09:49
September 13, 2023 14:31
July 24, 2023 13:06

JSON Forms - More Forms. Less Code

Complex forms in the blink of an eye


Please see the official JSON Forms website,, for documentation, examples and API references.

Getting started

  1. Clone the seed app with git clone
  2. Install dependencies with npm ci
  3. Run the app with npm run start

For more info about the seed app, please see the corresponding README file of the seed repo. For a more detailed tutorial about the usage of JSON Forms, please see this tutorial.

Feedback, Help and Support

If you encounter any problems feel free to open an issue on the repo. For questions and discussions please use the JSON Forms board. You can also reach us via email. In addition, EclipseSource also offers professional support for JSON Forms.


See our migration guide when updating JSON Forms.

Developers Documentation

First time setup

  • Install node.js (only Node v16.13+ < 17 is currently supported)
  • Install pnpm: (use pnpm 8.6.2+)
  • Clone this repository
  • Install dependencies: pnpm i --frozen-lockfile

VS Code dev container

As an alternative to the first time setup, you can use the provided VS Code dev container configured in devcontainer.json.

  • Execute command: Remote Containers: Reopen in container
  • Wait until the container is built and loaded
  • First time setup and an initial build of all packages has been executed in the container

Note: If you have installed dependencies before opening the remote container, its initialization might fail. In this case, you can try to clean the repository with git clean -dfx. Beware that this removes all untracked files!

Build & Testing

  • Build (all packages): pnpm run build
  • Test (all packages): pnpm run test
  • Clean (delete dist folder of all packages): pnpm run clean
  • Run React Vanilla examples: cd packages/vanilla && pnpm run dev
  • Run React Material examples: cd packages/material && pnpm run dev
  • Run Angular Material examples: cd packages/angular-material && pnpm run dev
  • Run Vue Vanilla dev setup: cd packages/vue-vanilla && pnpm run serve

Dependency & Release management

For more info about how we handle dependencies and releases in the JSON Forms project, please see our Developer Documentation wiki page.

Continuous Integration

The JSON Forms project is built and tested via Github actions on Linux, Mac and Windows. Coverage is documented by Coveralls.

Current status: Build status Coverage Status


The JSON Forms project is licensed under the MIT License. See the LICENSE file for more information.