⌘K でツールを切替
VALIDATE & INSPECT

YAMLバリデーター

YAML構文を検証してパース結果を確認します。

local
yaml-validator
§01 このツールについて

概要

YAMLバリデーターは、入力と同時にYAML構文をライブ検証し、有効な場合は パース結果を整形済みJSONで表示します。パーサーには多くのNode.js ツールチェーンで使われる js-yaml を採用しているため、エラーや型推論の 挙動はビルドパイプラインと一致します。CI設定(GitHub Actions・GitLab CI)、 Kubernetesマニフェスト、Docker Composeファイルのコミット前チェックに 便利です。

使い方

  1. YAML 欄にドキュメントを貼り付けまたは入力します。
  2. 下のステータス行を確認します。成功時は Valid YAML、失敗時は問題の行・列を含むパーサーのエラーメッセージが表示されます。
  3. 有効な場合は Parsed (as JSON) パネルで構造と推論された型を確認します。

使用例

入力:

server:
  host: localhost
  port: 8080

Parsed (as JSON): { "server": { "host": "localhost", "port": 8080 } }port は文字列ではなく数値になる点に注目してください。

インデントにタブ文字を使うと、YAMLはインデントのタブを禁止しているため、該当行を示すエラーになります。

注意事項

バリデーターは単一ドキュメントをパースします。--- で区切られた マルチドキュメントストリームは完全にはレポートされません。検証対象は 構文のみで、キーがそのファイルを利用するツールにとって正しいかどうかは 判定できません(それには形式ごとのスキーマ対応リンターが必要です)。

anchor と alias が互いを参照して乗算的に展開されるドキュメントは、パースの前に 拒否します。入れ子にした alias は数百バイトで数百MBに展開され得ます(253バイトが 22.8MBに達する例は容易に作れます)。そのままではタブが固まります。Docker Compose やCI設定で普通に使われる <<: のマージキーを含む通常の anchor 利用は影響を 受けません。2MBを超える入力も拒否します。

FAQ
入力したYAMLはサーバーに送信されますか?
いいえ。パースはjs-yamlライブラリを使ってブラウザ内で実行されます。設定ファイル・シークレット・CI定義がページの外に出ることはありません。
パース結果がJSONで表示されるのはなぜですか?
JSONならパース後の構造が一意に確認できるためです。YAMLは同じデータを何通りにも書けるので、結果のオブジェクト・配列・文字列・数値をJSONで見ることで、実際にツールがどう解釈するかを正確に確認できます。
YAMLは有効なのに、値が想定と違う型になるのはなぜですか?
YAMLは型を積極的に推論するためです。クォートなしのnoはスキーマによってはfalseになり、08は8進数として失敗することがあり、1.0は数値になります。文字列として扱いたい値はクォートし、JSONプレビューで推論された型を確認してください。