Skip to content
snowkitAI

Check a batch of AI answers against your schema

Paste the JSON Schema your app expects and the answers a model gave. Every answer is checked and you see which ones pass, which fail and exactly where.

Schema check

Report

0answers
0passed
0failed
0not JSON

    Checked as you type.

    Checking happens on this device. Your schema and answers are never uploaded. Paste a JSON Schema and a batch of AI answers, and Snowkit shows which answers pass, which fail and exactly why. It is free and private.

    Why check answers in bulk

    Models asked for structured output usually get it right, but not always: a missing field, a number sent as text, a value outside the allowed list, or JSON wrapped in a sentence. Running a batch of real answers through your schema shows how often that happens and which rules trip the model up, before the problem reaches your users.

    It also helps when you change a prompt. Run the same set of answers before and after, and compare how many pass.

    How to check a batch of answers

    1. Paste your JSON Schema, or use Open schema to load a .json file. No schema yet? Press Make from first answer after step 2.
    2. Paste your answers into the answers box, or use Open files to load several at once.
    3. Pick how the answers are separated with Split answers: One per line (JSONL), Separated by --- lines, or One JSON list.
    4. Press Work it out. The summary shows how many answers passed, failed, or were not JSON at all.
    5. Switch between All answers and Only problems to focus on what needs fixing.
    6. Download the report CSV, or download the passing answers on their own.

    Not sure where to start? Try an example loads a small schema and sample answers so you can see how the report looks.

    Pasting answers

    Paste one answer per line, a JSON list of answers, answers separated by lines of three dashes, or a chat log with JSON in code fences. Open several .json files at once and each file counts as one answer; a .jsonl file counts as one answer per line. With code fences and text accepted, JSON is taken from inside answers like "Sure, here it is: ...".

    Files with the extensions .json, .jsonl, .txt and .md can be opened.

    Reading the results

    • passed answers match every rule in your schema.
    • failed answers are valid JSON but break at least one rule. Each problem shows the path inside the answer and what is wrong, such as a missing required field or a value that is not in the allowed list.
    • not JSON answers could not be read as JSON at all, for example because the model replied in plain prose or the braces never closed.

    Tips for good results

    • Start strict, then loosen. A tight schema with required fields, allowed values and no extra properties catches the most problems.
    • Use real answers, not tidied ones. The odd failures are the whole point.
    • Check a few dozen answers at least. One or two cannot tell you how often a rule fails.
    • Fix the most common problem first. If the same path fails in many answers, the prompt probably needs a clearer instruction for that field.

    Who uses it

    Developers testing prompts, freelancers building automations for clients, and small teams who collect answers from a model and feed them into a spreadsheet or app. If you only need to tidy or inspect a single JSON file, the JSON tools are a better fit, and the function schema builder helps you write the schema in the first place.

    Questions

    Which schema features are supported?

    Types, required and optional properties, additionalProperties, enum and const, string length, pattern and common formats, number ranges, array items, length and uniqueness, allOf, anyOf, oneOf, not, if and then, and local $ref definitions. That covers the schemas used for structured outputs and tool calls.

    Can I get a schema without writing one?

    Make from first answer builds one from a known good answer. Tighten it afterwards, for example by adding allowed values or removing fields that are optional.

    What is in the report?

    The CSV has one row per problem with the answer number, its line, the path inside the answer and what's wrong, plus a row for each answer that passed. Download passing answers saves just the valid ones as JSONL.

    Are my answers or schema sent anywhere?

    No. Everything is checked in your browser. The only files that are created are the ones you choose to download.

    Why does an answer count as not JSON when it looks right?

    Common causes are a trailing comma, single quotes instead of double quotes, a missing closing bracket, or text mixed in with the JSON. If the answer came inside a chat reply, make sure the answers are split the way you chose under Split answers.

    Where to next

    Carry on with what you just made, still on your device.

    More from Snowkit