YAML整形・構文チェック
YAML文字列を貼り付けて「検証」を押すと、構文として正しいか(Valid/Invalid)を確認し、読みやすく整形します。Anchor/Aliasと通常のコメントは保持されます。
入力例
結果
YAMLを入力して「検証」を押してください。
このツールでできること
YAML整形・構文チェックの主な機能です。
- YAML文字列が構文として正しいか(Valid/Invalid)を判定できます
- 有効なYAMLを、統一されたインデント(2スペース)で読みやすく整形します
- Anchor/Alias・Merge Key・Block Scalarを展開・破壊せず保持し、通常のコメントも保持します
- 複数Document(---区切り)にも対応します
- 無効な場合、可能な範囲でエラー位置(行・列)と原因を表示します
- 処理はブラウザ内で完結し、入力を外部へ送信しません
手順を見る
- YAML文字列を入力します
- 「検証」を押します
- 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を入力してください」という案内表示になります。