YAML to JSON Schema converter

Convert YAML to JSON Schema: generate a schema from a sample YAML file, to validate configs (Kubernetes, CI, app settings) or to drive editor autocompletion.

YAML

JSON Schema

Waiting for input

What you get

How each result is checked

  1. Step 1: Your YAML is parsed strictly as YAML 1.2: duplicate keys and syntax errors are rejected with the line number.
  2. Step 1: The JSON output is parsed back and compared with the parsed YAML, value by value.
  3. Step 2: The generated schema is compiled with Ajv, the most widely used JSON Schema validator.
  4. Step 2: Your sample is validated against the generated schema. It must pass.

What can't convert exactly

  • Anchors (&), aliases (*) and merge keys (<<) are expanded into full copies, because JSON has no references.
  • Comments and custom tags such as !Ref are not data, so they are not carried over. You get a warning when this happens.
  • Several documents separated by --- become one JSON array.
  • A schema inferred from one sample can only describe what the sample shows. Review required fields and enums before relying on it.
  • Turn on "Top-level array = list of samples" to infer one schema from many records.

Questions

How is a two-step conversion checked?

Your input is converted to JSON first, then to the target format. Each step has its own independent check, and both must pass. The checks of both steps are listed under every result.

Is my data uploaded?

No. Everything runs in your browser, in a background worker. Nothing is sent to a server.

How do I use the schema to validate YAML in VS Code?

Save the schema as a .json file and add a "# yaml-language-server: $schema=./your-schema.json" line at the top of the YAML file (with the YAML extension installed), or map it in the yaml.schemas setting.

How do I convert YAML to JSON Schema online?

Paste your YAML or open a file on the left (or click Example). The JSON Schema appears on the right as you type, already checked. Copy it, or download it as a file. Nothing is uploaded.

Can the JSON Schema output be wrong?

Every result is checked before it is shown (the checks are listed on this page). If a check fails, the page says "Review needed" and why, instead of presenting the output as correct, and anything that cannot convert exactly is named in the notes.