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

Validate, query and mock your JSON

Check a JSON document against a JSON Schema and see exactly which field is wrong and why, try JSONPath expressions with live results, or turn a schema or a sample into as many realistic test records as you need.

    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