Skip to content
kitty/binDev
Your JSON stays on this device

Realistic test data from your schema

Paste a JSON Schema or one sample record and get as many believable records as you need, as JSON, NDJSON or CSV. The same seed always gives the same data.

    What the validator checks

    The core keywords from JSON Schema draft 2020-12 and draft 07: type, properties, required, additionalProperties, patternProperties, items and prefixItems, enum, const, number and length limits, pattern, uniqueItems, contains, oneOf, anyOf, allOf, not, if/then/else, and $ref to local definitions such as #/$defs/address. Formats checked are email, uri, date, time, date-time, uuid, ipv4, ipv6 and hostname. Every problem is listed with its path, like $.items[2].price, so you can find it fast.

    JSONPath in short

    $ is the root, .name picks a key, ..name searches at any depth, * matches everything, [0] and [-1] pick by position and [0:3] takes a slice. Filters such as [?(@.price < 10)] keep items that pass a test; you can compare with ==, !=, <, >, match a regular expression with =~ /text/i, check that a key exists with [?(@.isbn)], and combine tests with && and ||.

    Realistic mock data

    Paste a schema to get records that pass it, with numbers inside your minimum and maximum, strings that fit their length, pattern and format, and values picked from each enum. Paste a sample record instead and its shape is copied. Field names guide the values, so email, first_name, city, price, created_at and is_active get believable content, and emails match the names in the same record.

    more in the bin

    Keep going.

    More in kittybin Dev

    Explore the bin