ツール
JA

JSON Schema 生成ツール

サンプルの JSON ドキュメントを貼り付けると、その構造を表す JSON Schema を生成します。型、必須プロパティ、ネストしたオブジェクトや配列、email・date-time・UUID などの文字列フォーマットに対応しています。

サンプル JSON

JSON Schema

プライバシー保護:データはお使いのブラウザ内で処理され、アップロードされることはありません。

JSON Schema を生成する方法

  1. 代表的な JSON の例を貼り付けます。複数の要素を持つ配列を使うと、要素が 1 つのスキーマに統合されるため、最も良い結果が得られます。
  2. スキーマのバージョン(draft 2020-12 または draft-07)を選び、プロパティを必須にするか、フォーマットを検出するか、追加のプロパティを禁止するかを設定します。
  3. スキーマをコピーまたはダウンロードし、説明や列挙値(enum)、最小値・最大値などを手作業で追加して仕上げます。

ジェネレーターが推定する内容

JSON の例スキーマ
"ada@example.com"{"type": "string", "format": "email"}
"2026-05-01T10:00:00Z"format date-time(ほかに date、time、uri、uuid、ipv4)
42 / 4.5"integer" / "number"
すべてのオブジェクトにあるキーrequired に追加
一部の配列要素にないキー任意(required に含めない)
[1, "a", null]"items": {"type": ["string", "integer", "null"]}
オブジェクトと単純な値が混在種類ごとのスキーマを持つ anyOf

JSON Schema とは?

JSON Schema は、JSON データの構造を記述・検証するための仕様です。どのプロパティが存在し、それぞれがどの型で、どれが必須で、どんな値が許可されるかを定義します。OpenAPI での API 仕様、設定ファイル、フォームの自動生成、AI モデルの構造化出力の検証などに使われています。現在のバージョンは 2020-12 で、古いツールの多くは今も draft-07 をサポートしています。仕様は json-schema.org で公開されています。

生成したスキーマを仕上げる

よくある質問

どの JSON Schema バージョンを使うべきですか?

新しいプロジェクトには draft 2020-12 を使いましょう。現行のバージョンで、OpenAPI 3.1 のベースにもなっています。お使いのバリデーターやツールがまだ 2020-12 に対応していない場合は、draft-07 を選んでください。

すべてのプロパティが必須になるのはなぜですか?

サンプルのオブジェクトが 1 つだけだと、すべてのプロパティが存在するため、すべて必須としてマークされます。さまざまな例を含む配列を使うか、プロパティを必須にするをオフにしてください。

列挙値(enum)や値の範囲も検出できますか?

いいえ。1 つの例から一般に許可される値を判断することはできないため、enum、最小値・最大値、パターンは手作業で追加する必要があります。

スキーマで JSON を検証するには?

JavaScript なら Ajv、Python なら jsonschema などのバリデーターライブラリを使います。多くのコードエディタも、$schema プロパティで参照されたスキーマに基づいて JSON ファイルを検証できます。