YAML ビューアーとは?

YAMLビューアーは、YAMLファイルを貼り付けまたはアップロードするだけで、構文ハイライト付きのフォーマット済みツリー表示を即座に確認できるツールです。YAML仕様に基づいてバリデーションを行い、行番号付きでエラーを表示します。ネストされたセクションの折りたたみ・展開機能により、大規模な設定ファイルも素早くナビゲートできます。

--- で区切られたマルチドキュメント YAML に対応し、ネストされた anchor を保持しつつ、2 または 4 スペースから選んだインデントで再フォーマットします。ツリービューでは配列やマップをクリックで折りたためるので、Helm チャートや docker-compose のような長いファイルでも構造が一目で分かり、内蔵の検索ボックスはドキュメント全体で一致するキーや値をハイライトします。エラーは正確な行番号と列番号を返すので、当てずっぽうにインデントを直す必要はありません。

使い方

  1. YAMLの内容をエディタ領域に貼り付けるか、.yml/.yamlファイルをドラッグ&ドロップしてください。
  2. ビューアーが構文を即座に検証し、エラーがあれば行番号付きでハイライト表示します。
  3. ツリー表示と生テキスト表示を切り替えたり、ネストされたセクションを折りたたんだり、フォーマット済み出力をダウンロードできます。

使用するタイミング

  • kubectl apply の前に Kubernetes マニフェストを検証して、apiVersion や selector のミスを潰したいとき。
  • 300 行ある docker-compose.yml をスクロールせずにざっと見渡したいとき。
  • Ansible の playbook や GitHub Actions のワークフローが正しくパースされるか確認するとき。

結果

200行以上のKubernetesデプロイメントマニフェストがあるとします。貼り付けるだけで必須フィールドの有無を素早く検証し、インデントエラーを発見し、他のノードを折りたたんでコンテナspec部分に直接ナビゲートできます。

よくある質問

ローカルで yamllint を回すのと何が違いますか?
yamllint はコマンドラインから行末スペースや行長などのスタイル規約を強制するのが目的です。このツールはパースと構造の可視化に振っていて、貼り付ければそのままツリーで構造が見え、整ったインデントで再フォーマット済みの版もダウンロードできます。
YAML の anchor と alias(& と *)も処理してくれますか?
対応しています。js-yaml が anchor を解決するので、ツリービュー上では alias の参照箇所に展開後の値がそのまま表示されます。再フォーマット出力では anchor が外れて展開済みの内容がインラインで書かれるため、diff レビューで読みやすくなります。
複数の YAML ドキュメントを一度に貼れますか?
貼れます。--- で区切られた文書はストリームとしてまとめて解析され、ツールバーにドキュメント数が表示されます。ツリーは区切り線付きで縦に積まれるので、同じマニフェスト内の Deployment と Service を並べて比較するのも簡単です。
エラーの行番号が自分のエディタと合わないのはなぜですか?
YAML パーサーは最初のコンテンツ行を 1 として行を数えますが、エディタによっては shebang やコメント行のカウント方法が違います。こういうときは列番号のほうが当てになります。パースを壊した文字そのものを指してくれるからです。
貼り付けた YAML はサーバーに送信されますか?
送信されません。パースもフォーマットも端末側で完結するので、うっかり API キーやパスワードを貼っても外には出ません。とはいえ本番設定を扱う場合は油断せず、スクリーンショットを共有する前に機微な値を隠してから渡してください。

関連ツール