YAMLバリデーター・整形ツール
Docker Composeファイル、GitHub Actionsのワークフロー、Kubernetesのマニフェストなど、任意の設定ファイルのYAMLを貼り付けてください。入力と同時にチェックし、各エラーを行と列つきでわかりやすく説明します。他のツールが別の意味に読みそうな値も警告します。正しいYAMLはJSONや整形済みYAMLに変換できます。データは一切アップロードされません。
無料・登録不要
使い方
- YAMLを貼り付けるか、.yamlまたは.ymlファイルを開くか、サンプルを読み込みます。
- 入力欄の下の状態を確認します。正しければキーとドキュメントの数、エラーなら行・列と直し方が表示されます。
- 「入力欄で表示」でエラー箇所に移動し、yesや0755など他のツールが別の意味に読む値の警告も確認します。
- JSONか整形済みYAMLを選び、インデントを決めて、結果をコピーまたはダウンロードします。
このツールの特長
エラー位置を正確に表示
エラーごとに行と列、位置を示す抜粋、わかりやすい説明を表示します。
構文以外の注意点も
yes・no、先頭の0、バージョン番号、コロン後のスペース抜けなど、不具合の元になる値を事前に指摘します。
YAMLをJSONに変換
正しいYAMLをスペース2つ・4つ、または圧縮形式のJSONに変換。複数ドキュメントはJSON配列になります。
YAML整形
乱れたYAMLのインデントをそろえ、キーをアルファベット順に並べ替えます。
実際の設定ファイルに対応
Docker Compose、GitHub Actions、Kubernetes、Ansible、OpenAPIのファイルや、---で区切った複数ドキュメントにも対応します。
プライバシー
チェックはブラウザ内で行われるため、設定ファイル内の秘密情報がアップロードされることはありません。
よくあるYAMLのエラー
| エラー | 原因 | 直し方 |
|---|---|---|
| インデントの誤り | キーやリスト項目のスペースが隣の行より多いか少ない | 同じ階層の項目を同じ数のスペースでそろえる |
| インデントにタブ | 行がタブでインデントされている | タブをスペースに置き換える |
| キーの重複 | 1つのマッピングに同じキーが2回ある | どちらかを削除するか名前を変える |
| コロン後のスペース抜け | key:valueのようにスペースがない | key: valueと書く |
| 値の中のコロン | 「注意: 重要」のような値に「: 」が含まれる | 値をクォートで囲む |
| 閉じていないクォートや括弧 | " ' [ { を開いて閉じていない | 閉じる文字を追加する |
意外な読まれ方をする値
YAMLはクォートなしの値の型を推測します。PyYAMLやAnsible、多くの古いツールが使うYAML 1.1では、yes・no・on・offがtrueやfalseになり、ノルウェーの国コードNOがfalseに変わってしまいます。0755のように0で始まる数は8進数として読まれることがあり、1.10のようなバージョンは数値の1.1になります。
このバリデーターはより厳密なYAML 1.2に従い、こうした値を警告します。安全なルールは、バージョン、コード、電話番号、郵便番号など文字列のままにしたいものは必ずクォートで囲むことです。
YAMLとJSONの違い
| YAML | JSON | |
|---|---|---|
| コメント | あり(#) | なし |
| 構造の表し方 | インデント | 波括弧と角括弧 |
| クォート | ほとんど省略可能 | キーと文字列には必須 |
| 1ファイルに複数ドキュメント | 可能(---で区切る) | 不可 |
| 主な用途 | 人が書く設定ファイル | プログラム間のデータ交換 |
プライバシー
設定ファイルにはパスワード、トークン、社内のホスト名などが含まれがちです。このツールはオープンソースのjs-yamlライブラリを使ってブラウザ内でYAMLを解析し、どこにも送信しません。最後の入力内容はこのブラウザにだけ保存され、次に開いたときも残っています。
よくある質問
YAMLが正しいかどうかを確認するには?
上の入力欄に貼り付けてください。状態表示ですぐに正しいかどうかがわかります。エラーがあれば、最初のエラーの行・列と直し方を表示します。
インデントのエラーが出るのはなぜ?
同じ階層の項目はまったく同じ列から始める必要があります。たいていは1行だけスペースが多いか少ない、またはリスト項目が上の項目とそろっていないのが原因です。
YAMLでタブは使えますか?
使えません。YAMLのインデントはスペースのみです。このエディターではTabキーを押すとスペース2つが入ります。
KubernetesやDocker Composeのルールもチェックしますか?
チェックするのはYAMLの構文とよくある落とし穴で、特定ツールのスキーマではありません。YAMLとしては正しくても、Kubernetesのフィールド名が間違っていることはあり得ます。
YAMLをJSONに変換するには?
正しいYAMLを貼り付け、右側でJSONを選んだまま「結果をコピー」か「ダウンロード」を押します。---で区切った複数ドキュメントはJSON配列になります。
整形するとコメントは残りますか?
残りません。整形済みYAMLとJSONはデータから作り直すため、コメントやアンカーは失われます。左の入力欄の元のテキストは変わりません。
関連ツール
作りたいものがありますか?
作りたい内容を教えてください。
シンプルなWebサイトから本格的なアプリ、AIソリューション、自動化、カスタムシステムまで、作りたいものをお聞かせください。