jsonschema-cli 0.40.1

A command line tool for JSON Schema validation.
jsonschema-cli-0.40.1 is not a library.

jsonschema-cli

A fast command-line tool for JSON Schema validation, powered by the jsonschema crate.

Installation

Pre-built Binaries

Download the latest binary for your platform from the releases page:

Linux (x86_64):

  • jsonschema-cli-x86_64-unknown-linux-gnu.tar.gz - Standard GNU libc
  • jsonschema-cli-x86_64-unknown-linux-musl.tar.gz - Static binary (MUSL), no dependencies

Linux (ARM64):

  • jsonschema-cli-aarch64-unknown-linux-gnu.tar.gz - Standard GNU libc
  • jsonschema-cli-aarch64-unknown-linux-musl.tar.gz - Static binary (MUSL), no dependencies

macOS:

  • jsonschema-cli-x86_64-apple-darwin.tar.gz - Intel
  • jsonschema-cli-aarch64-apple-darwin.tar.gz - Apple Silicon

Windows:

  • jsonschema-cli-x86_64-pc-windows-msvc.zip - MSVC runtime
  • jsonschema-cli-x86_64-pc-windows-gnu.zip - MinGW, no Visual Studio required

Note: MUSL variants are statically linked and work across all Linux distributions, including Alpine.

Example installation on Linux/macOS:

# Download and extract (replace VERSION with actual version, e.g., cli-v0.36.0)
curl -LO https://github.com/Stranger6667/jsonschema-rs/releases/download/VERSION/jsonschema-cli-x86_64-unknown-linux-gnu.tar.gz
tar xzf jsonschema-cli-x86_64-unknown-linux-gnu.tar.gz

# Move to a directory in your PATH
sudo mv jsonschema-cli /usr/local/bin/

From Source (requires Rust)

cargo install jsonschema-cli

Usage

jsonschema [OPTIONS] <SCHEMA>

NOTE: It only supports valid JSON as input.

Options

  • -i, --instance <FILE>: JSON instance(s) to validate (can be used multiple times)
  • --output <text|flag|list|hierarchical>: Select output style (default: text). text prints the human-friendly summary, while the structured modes emit newline-delimited JSON (ndjson) records with schema, instance, and JSON Schema Output v1 payloads.
  • -v, --version: Show version information
  • --help: Display help information

Examples:

Validate a single instance:

jsonschema schema.json -i instance.json

Validate multiple instances:

jsonschema schema.json -i instance1.json -i instance2.json

Emit JSON Schema Output v1 (list) for multiple instances:

jsonschema schema.json -i instance1.json -i instance2.json --output list
{"output":"list","schema":"schema.json","instance":"instance1.json","payload":{"valid":true,...}}
{"output":"list","schema":"schema.json","instance":"instance2.json","payload":{"valid":false,...}}

Features

  • Validate one or more JSON instances against a single schema
  • Clear, concise output with detailed error reporting
  • Fast validation using the jsonschema Rust crate

Output

For each instance:

  • text (default): prints <filename> - VALID or <filename> - INVALID. Errors: followed by numbered error messages.
  • flag|list|hierarchical: emit newline-delimited JSON objects shaped as:
{
  "output": "list",
  "schema": "schema.json",
  "instance": "instance.json",
  "payload": { "... JSON Schema Output v1 data ..." }
}

Exit Codes

  • 0: All instances are valid (or no instances provided)
  • 1: One or more instances are invalid, or there was an error

License

This project is licensed under the MIT License.