JSON Schema Preview

Preview, validate, and work with JSON Schemas — including private ones — right inside VS Code.
Renders schemas as clean HTML documentation.
Validates JSON, YAML, and TOML data files inline.
Handles schemas behind authentication (GitHub private repos, Artifactory, any HTTP endpoint) with zero friction.

One continuous take: open a JSON file and generate a schema from it, view the schema with the raw JSON tabs hidden, live-edit its title and watch the viewer refresh, configure the viewer to show Expand all/Collapse all, then switch to an invalid JSON file — validate it, inline-bind it to the generated schema straight from the warning, validate again, use IntelliSense, Ctrl+click the $schema link back to the schema file, and generate TypeScript types — all from the editor toolbar. More per-feature demos (private-schema auth, visual editing, bundling, and more) are on the documentation site.
Highlights
- Preview — schemas rendered as live, navigable HTML documentation in a side panel.
- Validate & bind — bind a schema to a data file (or use its inline
$schema) and catch errors in the Problems panel.
- Private schemas — authenticate against GitHub, Artifactory, or any HTTPS endpoint, and cache schemas locally so IntelliSense works too.
- Generate — infer a schema from existing data, generate valid sample data from a schema, or generate typed code from a schema (TypeScript, Python, Go, Rust, Java, C#, and more).
📖 Full documentation & feature list — visual editing, schema catalogs, $ref navigation, bundling, diffing, linting, and more.
Supports JSON, YAML, JSONC, JSONL, and TOML formats
Getting Started
Install from the VS Code Marketplace, then open a file with a $schema field and run JSON Schema: Preview — or bind a schema to a data file and run JSON Schema: Validate This File.
Getting Started guide → — installation, requirements, and workspace trust.
Private & Authenticated Schemas
When a schema is behind authentication, VS Code's language server can't fetch it — it draws a red squiggle and IntelliSense goes dark. This extension authenticates on your behalf (GitHub OAuth, Bearer token, or Basic auth) and can cache the schema locally so the built-in language servers see it too.
Authentication guide →
Commands
All features are reachable from the Command Palette, with matching editor toolbar icons for the active file.
Full command reference →
Command-line interface
Prefer the terminal or need these checks in CI? The same core ships as a
standalone CLI, json-schema-toolkit (command: jstk) — validate, lint,
diff (with a backward-compatibility gate), bundle, and migrate schemas without
VS Code.
npx json-schema-toolkit diff api.v1.json api.v2.json --check --strict
CLI guide →
Configuration
All settings live under the jsonschema.* namespace (User, Workspace, or Folder scope). Customise the json-schema-for-humans renderer either by dropping a .json-schema-preview-config.json in your workspace root, or via the jsonschema.config setting — run JSON Schema: Configure Preview to jump straight to it. The file always wins when both are present.
Full settings reference →
Security, Privacy & Accessibility
- Zero telemetry — the extension collects and transmits nothing about your usage; the only network requests it makes are the ones you trigger.
- Hardened webviews — a nonce-based Content Security Policy and HTML-escaped schema content in every panel.
- Offline-friendly — falls back to the last cached schema copy when the network is unreachable, and tells you it did so.
- Accessible by default — every injected control is keyboard-operable and screen-reader-labelled; state is never colour-only.
Credits
Rendering powered by json-schema-for-humans. Code generation powered by quicktype-core (Apache License 2.0).