{
  "slug": "json-schema-faker",
  "name": "gizza-ai/json-schema-faker",
  "version": "0.1.0",
  "title": "JSON Schema Faker — Generate Conforming Test Data — gizza.ai",
  "description": "Generate deterministic fake JSON, JSONL, or CSV rows from a JSON Schema subset with formats, enums, ranges, arrays, and seeds.",
  "tags": [
    "json schema faker",
    "fake json data",
    "mock data generator",
    "schema test data",
    "json schema mock",
    "synthetic data",
    "jsonl generator",
    "csv fake data"
  ],
  "category": "data",
  "urls": {
    "page": "https://gizza.ai/tools/json-schema-faker/",
    "markdown": "https://gizza.ai/tools/json-schema-faker/index.md",
    "descriptor": "https://gizza.ai/tools/json-schema-faker/tool.json",
    "deep_link_example": "https://gizza.ai/tools/json-schema-faker/?schema=%7B%0A%20%20%22type%22%3A%20%22object%22%2C%0A%20%20%22properties%22%3A%20%7B%0A%20%20%20%20%22id%22%3A%20%7B%20%22type%22%3A%20%22integer%22%2C%20%22minimum%22%3A%201%2C%20%22maximum%22%3A%20999%20%7D%2C%0A%20%20%20%20%22email%22%3A%20%7B%20%22type%22%3A%20%22string%22%2C%20%22format%22%3A%20%22email%22%20%7D%2C%0A%20%20%20%20%22role%22%3A%20%7B%20%22enum%22%3A%20%5B%22admin%22%2C%20%22user%22%2C%20%22guest%22%5D%20%7D%0A%20%20%7D%0A%7D&count=3&seed=42&pretty=true&output=json"
  },
  "cli": "gizza tool json-schema-faker '{\n  \"type\": \"object\",\n  \"properties\": {\n    \"id\": { \"type\": \"integer\", \"minimum\": 1, \"maximum\": 999 },\n    \"email\": { \"type\": \"string\", \"format\": \"email\" },\n    \"role\": { \"enum\": [\"admin\", \"user\", \"guest\"] }\n  }\n}'",
  "tool": {
    "description": "Generate N fake records that conform to a supported JSON Schema subset. Handles object properties, arrays, scalar types, enum/const, required fields, common string formats (email, uuid, date, date-time, uri, ipv4), length/range/item bounds, deterministic seeds, and JSON/JSONL/CSV output. Unsupported assertion keywords such as $ref, oneOf/anyOf/allOf, pattern, patternProperties, dependencies, and conditionals are rejected with clear errors instead of being silently ignored.",
    "parameters": {
      "additionalProperties": false,
      "properties": {
        "count": {
          "default": 1,
          "description": "Number of records to generate (1–1000).",
          "maximum": 1000,
          "minimum": 1,
          "type": "integer"
        },
        "output": {
          "default": "json",
          "description": "Output format: JSON array, JSON Lines, or CSV (CSV requires object rows).",
          "enum": [
            "json",
            "jsonl",
            "csv"
          ],
          "type": "string"
        },
        "pretty": {
          "default": true,
          "description": "Pretty-print JSON output. Ignored for JSON Lines and CSV.",
          "type": "boolean"
        },
        "schema": {
          "description": "JSON Schema object to generate data from. Supported subset: object/array/scalar types, properties, required, enum, const, common string formats, and basic length/range/item bounds.",
          "type": "string"
        },
        "seed": {
          "default": 1,
          "description": "Deterministic seed. Use the same non-zero seed to reproduce output; 0 uses the core fallback seed.",
          "minimum": 0,
          "type": "integer"
        }
      },
      "required": [
        "schema"
      ],
      "type": "object"
    }
  }
}