開発・デバッグ支援

YAML整形・構文チェック

YAML文字列を貼り付けて「検証」を押すと、構文として正しいか(Valid/Invalid)を確認し、読みやすく整形します。Anchor/Aliasと通常のコメントは保持されます。

入力データはサーバーへ送信されませんインストール不要無料で使えます

入力例

結果

YAMLを入力して「検証」を押してください。

このツールでできること

YAML整形・構文チェックの主な機能です。

  • YAML文字列が構文として正しいか(Valid/Invalid)を判定できます
  • 有効なYAMLを、統一されたインデント(2スペース)で読みやすく整形します
  • Anchor/Alias・Merge Key・Block Scalarを展開・破壊せず保持し、通常のコメントも保持します
  • 複数Document(---区切り)にも対応します
  • 無効な場合、可能な範囲でエラー位置(行・列)と原因を表示します
  • 処理はブラウザ内で完結し、入力を外部へ送信しません

使い方

YAMLのValid/Invalidを確認し、整形する手順を説明します。

手順を見る
  1. YAML文字列を入力します
  2. 「検証」を押します
  3. Valid/Invalidと、整形結果またはエラー位置・原因を確認します

こんなときに使えます

こんな場面でYAML整形・構文チェックが役立ちます。

利用シーンを見る
  • GitHub Actions・Docker Compose・Kubernetes等のYAML設定を編集していて、構文ミスを確認したいとき
  • AIが生成したYAMLが、そのまま使える形になっているか確認したいとき
  • インデントの崩れたYAMLを、意味を変えずに読みやすく整形したいとき
  • タブとスペースの混在など、原因の分かりにくい構文エラーの箇所を特定したいとき

YAML整形・構文チェックの仕組みと注意点

このツールの動作の仕組みを説明します。

詳しい解説を見る

整形はDocument round-trip方式で行います

入力されたYAMLをJS値へ変換してから書き出すのではなく、構文解析して得たDocument構造をそのまま再整形します。これにより、Anchor/Alias・Block Scalar(|・>)などを展開・破壊せず、意味を変えずに整形できます。

Anchor/Alias・Merge Key・通常のコメントは保持されます

通常の行コメント・インラインコメントは保持されます。ただし、YAMLライブラリの制約により、一部の特殊な位置(Flow Collection内など)のコメントは整形時に保持されない場合があります。Anchor(&)・Alias(*)・Merge Key(<<)は展開されず、記法のまま保持されます。独自タグ(例: CloudFormationの!Ref等)もそのまま保持され、構文エラーにはなりません。

Folded Block(>)は視覚的な改行位置が正規化される場合があります

Folded Block(>)の値の意味は保持されますが、整形後に視覚的な改行位置が正規化される場合があります。改行をそのまま残したい場合は、Literal Block(|)をご利用ください。

YAML 1.2 / Core Schemaを前提としています

yes/no/on/offはtrue/falseへ変換されず、文字列として扱われます。同じキーを複数回定義した場合はInvalid(重複キー)として検出します。

複数Document(---区切り)に対応します

---で区切られた複数のYAML文書をまとめて検証・整形できます。いずれか1つのDocumentでも構文エラーがある場合は、入力全体をInvalidとして扱います。

入力上限・巨大な入力への対応(Web Worker不使用)

入力は最大500,000文字までです。通常の構造化されたYAMLであれば上限内でも高速に処理できるため、現時点ではWeb Workerを使わずブラウザのメインスレッドで直接処理しています。

JSON/YAML変換は対象外です

本ツールはYAML自体の構文検証・整形に特化しています。JSON⇔YAMLの形式変換はJSON・YAML相互変換で、JSONの整形・構文チェックはJSON整形・多重エスケープ復元・JSON構文チェックで行えます。入力されたYAMLを外部サーバーへ送信することもありません。

よくある質問

コメントは保持されますか?

通常の行コメント・インラインコメントは保持されます。ただし、YAMLライブラリの制約により、一部の特殊な位置(Flow Collection内など)のコメントは整形時に保持されない場合があります。

Folded Block(>)を使ったYAMLを整形するとどうなりますか?

Folded Block(>)の値の意味は保持されますが、整形後に視覚的な改行位置が正規化される場合があります。改行をそのまま残したい場合は、Literal Block(|)をご利用ください。

Anchor/Aliasはどうなりますか?

展開されず、Anchor(&)・Alias(*)・Merge Key(<<)の記法のまま保持されます。

独自タグ(!Ref 等)を使ったYAML(CloudFormation等)は使えますか?

はい。未知の独自タグはそのまま保持され、構文エラーにはなりません。

yes/no/on/offはtrue/falseに変換されますか?

されません。YAML 1.2 Core Schemaに従い、文字列のまま扱われます。

複数Document(---区切り)に対応していますか?

はい。対応しています。いずれかのDocumentが不正な場合は、入力全体がInvalidになります。

同じキーを2回書いたらどうなりますか?

重複キーとしてInvalid判定になります。GitHub ActionsやDocker Composeの設定ファイルでも起こりうるミスのため、ご注意ください。

---だけ、あるいはコメントだけを入力するとどうなりますか?

---のみの入力は、YAML仕様上の空Document(null)としてValid扱いになります。コメントだけ(---を伴わない)の場合は整形対象がないため、「YAMLを入力してください」という案内表示になります。