機能
YAML は読みやすいため、設定ファイルに広く使われています。Kubernetes のマニフェスト、GitHub Actions や GitLab CI のワークフロー、Docker Compose、Ansible の playbook、OpenAPI ドキュメントなどです。その一方で壊れやすく、インデントが 1 つずれる、タブを使う、引用符を閉じ忘れる、コロンの後のスペースが抜けるといったことで、ファイルの意味が変わったり読み込めなくなったりします。
このバリデーターは YAML を解析し、すべての構文エラーを行と列付きで報告します。未知のディレクティブなどの警告も表示します。YAML が有効なら、ドキュメント数と各ドキュメントのルートの種類を示し、インデントをそろえたきれいな整形結果も表示できます。
使い方
- 入力欄に YAML を貼り付けるか、
.yaml・.ymlファイルをアップロードするか、サンプル を押します。 - 入力に合わせて結果が表示されます。緑の 有効な YAML バッジ、または
3 行 2 列のようなエラー一覧です。 - 整形した YAML を表示 をオンにしておくと整った YAML が得られます。インデントは 2 または 4 スペースを選べ、ブロック上のボタンでコピーできます。
- ツールが重複キーを許す場合に限り、重複キーをエラーにする をオフにしてください。
よくあるミス
server:
port: 8080
host: localhost # indented one space too far
tags: [web, api # missing closing bracket
- インデントの不一致:同じ階層の項目は同じ列から始める必要があります。YAML ではタブによるインデントは使えません。
- コロンの後のスペース抜け:
key:valueはキーと値ではなく、ただの文字列です。 - 特殊文字を引用符で囲んでいない:
*、&、!、%、@、バッククォートで始まる値や、:、#を含む値は引用符が必要です。 - 予想外の型:
yes、no、on、offは YAML 1.2 では文字列ですが、古い YAML 1.1 のパーサーでは真偽値になります。念のため引用符で囲みましょう。1.10のようなバージョン番号も、引用符なしでは数値 1.1 になります。
構造の検証
このツールが調べるのは構文、つまりテキストが正しい形式の YAML かどうかです。ファイルに正しいキーや値の型があるかを確認するには、YAML → JSON 変換ツールで変換し、その結果を JSON Schema バリデーターで検証してください。
よくある質問
› どの YAML バージョンで検証しますか?
最新のツールの多くが使っている YAML 1.2 です。--- で区切られた複数ドキュメントの入力は、ドキュメントごとにチェックします。
› 重複キーがエラーになるのはなぜですか?
YAML の仕様では、マッピング内のキーは一意でなければなりません。多くのパーサーは最後の値だけを黙って残すため、ミスが隠れてしまいます。ツール側で意図的に重複を許している場合は「重複キーをエラーにする」をオフにしてください。
› 整形するとコメントは残りますか?
はい。コメント、キーの順序、アンカー、引用符付きの文字列はそのまま残り、インデントと空白だけがそろえられます。長い文字列は折り返されません。
› YAML はどこかにアップロードされますか?
いいえ。解析はブラウザー内で行われるので、秘密情報を含む設定ファイルもコンピューターの外に出ません。