YAMLをオンラインでフォーマット・整形する

乱雑または圧縮されたYAMLを、一貫したインデントで読みやすく整形します。ブラウザ上で完全に動作し、データをサーバーに送信しない無料のオンラインYAMLフォーマッター。

Basic Formatting

詳細な説明

YAMLを読みやすくフォーマットする

YAML(YAML Ain't Markup Language)は人間が読みやすいように設計されていますが、実際にはインデントの不一致、タブとスペースの混在、圧縮などによりYAMLファイルが乱雑になることがよくあります。YAMLフォーマッターは構造化されていない、またはフォーマットの悪いYAMLを、一貫したインデントのクリーンな出力に変換します。

なぜYAMLをフォーマットするのか?

YAMLは空白に依存しています — インデントがドキュメントの構造を決定します。ブレースやブラケットを使用するJSONとは異なり、YAMLはネストレベルを定義するために完全にスペースに依存しています。そのため、スペース1つの位置ずれでもドキュメントの意味が変わったり、パースエラーが発生する可能性があります。

# 乱雑な入力
name: John
  age: 30
 hobbies:
  - reading
    - coding

2スペースインデントでフォーマットした後:

name: John
age: 30
hobbies:
  - reading
  - coding

インデント標準

YAML仕様は特定のインデント幅を規定していませんが、一般的な慣例は以下の通りです:

  • 2スペース — KubernetesやDockerエコシステムで最も一般的
  • 4スペース — Python関連ツール(Ansible、SaltStack)で一般的
  • タブ — YAMLでは許可されていない(JSONやほとんどのプログラミング言語とは異なる)

フォーマッターの動作

適切なYAMLフォーマッターは以下の操作を実行します:

  1. 入力を抽象構文木(AST)にパースする
  2. インデントを一貫した幅に正規化する
  3. 各行の末尾の空白を削除する
  4. ファイル末尾の改行を確保する
  5. コメントを正しい位置に保持する
  6. キーの順序を維持する(YAMLマップは順序付き)

エッジケースの処理

フォーマッターは複数行文字列(リテラル | およびフォールド > ブロック)、アンカーとエイリアス、複合キー、--- で区切られた複数のYAMLドキュメントを含むドキュメントを処理する必要があります。良いフォーマッターは周囲の空白を正規化しながらこれらの構造を保持します。

ユースケース

YAMLフォーマットは設定ファイルを扱うすべての開発者にとって不可欠です。Kubernetesマニフェストの整理、チーム全体でのインデント標準化、コードレビュー用のYAMLファイル準備など、一貫したフォーマットはエラーを減らし可読性を向上させます。CI/CDパイプラインではリンティングステップとしてYAMLフォーマットを強制することがよくあります。

試してみる — YAML Formatter & Validator

フルツールを開く