Schema validation is where LLM contracts live. Most online validators upload your payload to a server to do it.
| Capability | jsonversal | ajv (CLI/library) | Hosted validators |
|---|---|---|---|
| Draft support | 2020-12, 2019-09, draft-07 | 2020-12, 2019-09, draft-07 | Varies |
| Payload leaves the browser | Never | N/A — runs locally in your code | Usually yes |
| Setup required | None | npm install + code | None |
| Error location reporting | Path + line/column | Detailed | Varies |
| Validates LLM structured output | Presets for OpenAI / Anthropic / Gemini | Yes, if you wire it up | Rarely |
| Account required | No | No | Often |
ajv is the right choice when validation belongs in your test suite. When you are debugging why a model returned an invalid object, or checking a payload before it reaches an API, a browser validator that never uploads is faster and keeps the data in your browser. jsonversal also ships presets shaped for the major providers' structured-output formats, so you can paste a schema and test it immediately.