JSON Data Definition Format
Docs Blog

Be more productive with JSON

JDDF is a schema language for JSON that you can use to generate validators and types for any language.

Get started
{
  "properties": {
    "id": { "type": "string" },
    "createdAt": { "type": "timestamp" },
    "favoriteNumbers": {
      "elements": { "type": "float64" }
    }
  },
  "optionalProperties": {
    "deletedAt": { "type": "timestamp" }
  }
}

Solve your JSON headaches

Cross-platform consistency

Run input validation anywhere, get conistent results. JDDF is a platform-independent way describe the shape of your data, and every implementation produces the exact same validation errors.

View implementations

Type system integration

What good is a schema that your type system can't use? Generate TypeScript interfaces, Golang structs, Java classes, and much more from your schemas using the jddf-codegen tool.

More on jddf-codegen

Docs and UI generation

The jddf-codegen tool can generate markdown documentation of your schema, and jddf-react can generate React UIs from JDDF schemas. Plus, JDDF is dead simple, so it's easy to build your own tooling too.

More on jddf-react

Simple by design

Learn all of JDDF in 5 minutes

Seriously. If you've used JSON before, and you've used a type system before, you can probably learn all of JDDF in less time than it takes to brew a coffee.

Learn JDDF in 5 minutes

JDDF-ify your existing data easily

Just put some example data into a file or stream, run the jddf-infer tool on it, and a working schema will pop out. It all runs on your machine, so your data is secure.

More on jddf-infer