PlayWithJSON

JSON Schema Generator

Draft-07 / 2020-12

Instantly generate standard, RFC-compliant JSON Schema from any JSON or JSON5 data with format inference & live validation.

Input JSON
Lines: 23 | Characters: 549
JSONUTF-8
Required:
Generated JSON SchemaValid
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "Root Schema",
  "description": "Schema generated from JSON data",
  "type": "object",
  "properties": {
    "id": {
      "type": "integer"
    },
    "uuid": {
      "type": "string",
      "format": "uuid"
    },
    "username": {
      "type": "string"
    },
    "email": {
      "type": "string",
      "format": "email"
    },
    "website": {
      "type": "string",
      "format": "uri"
    },
    "registeredAt": {
      "type": "string",
      "format": "date-time"
    },
    "age": {
      "type": "integer"
    },
    "isActive": {
      "type": "boolean"
    },
    "roles": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "address": {
      "type": "object",
      "properties": {
        "street": {
          "type": "string"
        },
        "city": {
          "type": "string"
        },
        "state": {
          "type": "string"
        },
        "zipCode": {
          "type": "string"
        },
        "country": {
          "type": "string"
        }
      },
      "required": [
        "street",
        "city",
        "state",
        "zipCode",
        "country"
      ]
    },
    "preferences": {
      "type": "object",
      "properties": {
        "theme": {
          "type": "string"
        },
        "notificationsEnabled": {
          "type": "boolean"
        },
        "loginIp": {
          "type": "string",
          "format": "ipv4"
        }
      },
      "required": [
        "theme",
        "notificationsEnabled",
        "loginIp"
      ]
    }
  },
  "required": [
    "id",
    "uuid",
    "username",
    "email",
    "website",
    "registeredAt",
    "age",
    "isActive",
    "roles",
    "address",
    "preferences"
  ]
}
Lines: 102 | Size: 1.76 KB
JSON SchemaUTF-8