Skip to content
YAML Formatter
Tools

YAML Formatter

新着

Validate, beautify, and convert YAML online. Real-time syntax highlighting, error detection with line numbers, and one-click JSON export.

Input

Formatted output

← paste YAML to see formatted output

Runs entirely in your browser. Nothing is uploaded.

ブラウザでYAMLを即座に整形・検証する

YAMLフォーマッターは、入力またはペーストするとリアルタイムでYAMLを検証・整形します — ボタンを押す必要はありません。インデントを正規化し、行番号と説明付きで構文エラーをハイライト表示し、ワンクリックでJSONに変換できます。エディターはカスタムCSSプロパティを使った完全なシンタックスハイライトを備え、システムのダーク/ライトモード設定に自動で適応します。すべてJavaScript製YAMLパーサーを使ってクライアントサイドで動作するため、設定ファイルがデバイスの外に出ることはありません。

YAML(YAML Ain't Markup Language)は現代のほぼすべてのソフトウェアプロジェクトで使用されています:GitHub Actionsワークフロー、Kubernetesマニフェスト、Docker Composeファイル、Ansible Playbook、Helm Chart、CI/CD設定、アプリケーション設定ファイルなど。人間が読みやすいように設計されていますが、インデントへの敏感さと特殊文字の扱いにより、実行時まで気づかない無効なYAMLを書いてしまうことが意外と多くあります。ライブフォーマッターはそうしたエラーを数秒で検出します。

よくあるYAMLエラーとバリデーターによる検出方法

最もよくあるYAMLのミスはスペースの代わりにタブを使うことです。YAMLはインデントにタブ文字を使うことを禁止しています — ほとんどのテキストエディターではスペースと見分けがつきませんが、即座にパースエラーを引き起こします。バリデーターはこれを検出し、どの行にタブがあるかを正確に教えてくれます。2番目に多いミスは値内のコロンをクォートしていないこと:`title: Hello: World`は曖昧で、パーサーはネストされたキーとみなします。値をクォートしてください:`title: "Hello: World"`。3番目はインデントの不一致:あるブロックが1箇所では2スペース、別の箇所では3スペースでインデントされていると、パーサーがネストレベルを誤読することがあります。

その他のよくあるエラー:同じマッピング内の重複キー(YAML 1.1では技術的に許可されているが、1.2では違法で、ほとんどのパーサーに拒否される);コロン後のスペース不足(`key:value`は無効、`key: value`が必要);アンカーとエイリアスの誤った使用;暗黙の型変換による予期しない動作(YAML 1.1パーサーでは文字列`yes`がブール値`true`になる)。バリデーターはこれらを生のパーサーエラーダンプではなく、わかりやすい言葉で報告します。

YAMLからJSONへの変換 — いつ、なぜ使うか

JSONとYAMLは意味的に等価なデータフォーマットです(いくつかの例外あり)。YAMLはJSONのスーパーセットであり、有効なJSONは有効なYAMLでもあります。YAMLをJSONに変換することは、JSONのみを受け付けるツールやAPIを使用する場合や、`jq`でYAML設定ファイルをクエリしたい場合(jqはJSONに対して動作する)に便利です。「JSONとしてコピー」ボタンはYAMLをパースし、2スペースインデントの整形されたJSONにシリアライズします。

重要な注意点:YAMLコメント(`#`で始まる行)はJSONに構文がないため、JSON出力には保持されません。YAMLのアンカーとエイリアスは解決され、JSONは最終的な参照解決後の値を表示します。マルチドキュメントYAML(`---`で区切られた複数のドキュメント)は、各ドキュメントを要素とするJSON配列に変換されます。逆の変換(JSONからYAML)が必要な場合は、このフォーマッターにJSONをペーストしてください — JSONは有効なYAMLなので、きれいにパース・再フォーマットされます。

YAMLフォーマッター vs yamllint、YAML Lint、YAML Checker

yamllintはYAMLリンティングのゴールドスタンダードのCLIツールです — 徹底的で設定可能、CIパイプラインで使用されています。しかしPython、pip、ターミナルが必要で、チームメンバーのマシン上やブラウザ環境での素早いチェックには不向きです。YAML Lint (yamllint.com)は最も人気のあるオンライン代替ですが、エラーを表示するだけで、整形もシンタックスハイライトもJSON変換もありません。YAML Checker (yamlchecker.com)は整形・検証できますが、ハイライトなしの普通のテキストエリアでJSON出力もありません。Transform.toolsはYAMLからJSONへの変換ができますが、ライブ検証はありません。

このフォーマッターはこれらすべての機能を1か所にまとめています:エラー説明付きのライブ検証、シンタックスハイライト付きの整形出力、ワンクリックJSON変換、マルチドキュメントサポート — バックエンドなしで完全にブラウザ内で動作します。ツールをインストールしたりサービスにサインアップしたりしたくない開発者にとって、「このYAMLは有効か?」から「整形済みのエラーなし版はこれ」までの最短ルートです。

実践的な使い方 — Kubernetes、GitHub Actions、Docker Compose

Kubernetesユーザー向け:`kubectl apply`で適用する前にマニフェストをペーストして構文エラーを早期に検出してください。Podスペックやサービス定義の単純なインデントミスがあると、`kubectl`が不可解なエラーで失敗します。ここで先に検出すれば時間を節約できます。GitHub Actionsユーザー向け:コミット前に`.github/workflows/*.yml`ファイルをペーストして検証してください。形式の悪いワークフローはサイレントに失敗し(アクションが実行されない)、GitHub UIでのデバッグは時間がかかります。Docker Composeユーザー向け:`docker compose up`を実行する前に`docker-compose.yml`を検証してください — ネストされたサービス定義のエラーが見つけにくいマルチサービスファイルでは特に重要です。

Ansibleユーザー向け:Playbook、インベントリファイル、変数ファイルをペーストして`ansible-playbook`実行前にYAML構造を検証してください。Helm Chartの作者向け:`values.yaml`やChartテンプレートを検証してください。YAML形式でCI/CD設定を書く方(GitLab CI、CircleCI、Bitbucket Pipelines、Travis CI):設定をペーストしてプッシュ前に検証してください。いずれの場合も、無効なYAMLファイルの代償はビルドまたはデプロイの失敗です — ここで先に検出する方が常に速いです。

Frequently asked questions

YAMLをオンラインで整形するには?

左側のエディターにYAMLをペーストすると、右側でリアルタイムに自動的に整形・検証されます。フォーマッターはインデントを2スペースに正規化し、末尾の空白を削除し、シンタックスハイライト付きでYAMLを表示します。構文エラーがある場合は、何が問題でどの行に問題があるかの説明とともにインラインでハイライトされます。ボタンを押す必要はありません — 入力またはペーストした瞬間に整形が行われます。

YAMLの構文エラーを検証するには?

YAMLをペーストすると、バリデーターがクライアントサイドのYAMLパーサーを使って即座にパースします。YAMLが無効な場合、具体的なエラーメッセージと行番号が記載された赤いエラーバナーが表示されます — CI/CDパイプライン(GitHub ActionsやKubernetesなど)が投げるのと同じ種類のエラーです。よくあるYAMLエラーには、誤ったインデント(スペースの代わりにタブ — YAMLはスペースを要求する)、キーの後のコロン不足、重複キー、値内のコロンなど引用符なしの特殊文字があります。

YAMLをJSONに変換できますか?

はい — 「JSONとしてコピー」ボタンがあり、YAMLをパースして同等のJSONを整形済みで出力します。GitHub ActionsワークフローやKubernetesマニフェストなどのYAML設定ファイルを持っていて、同じデータをJSON形式でAPI、スクリプト、またはJSONのみを受け付けるツールに提供したい場合に便利です。標準YAMLの変換は不可逆的 — コメントはJSONに構文がないため保持されません。

YAMLにフォーマッターが必要な理由は?

YAMLはインデントに敏感です:スペースが期待される場所に余分なスペースやタブ文字が1つあるだけでパースが壊れます。これにより、KubernetesマニフェストやDocker ComposeファイルやGitHub ActionsワークフローやAnsible Playbookのような深くネストされた設定ではYAMLを手動で編集するとエラーが起きやすくなります。フォーマッターは一貫したインデントを適用し、末尾の空白を正規化し、CI/CDパイプラインやデプロイに到達する前に構文エラーを検出します。

YAMLの内容はプライベートに保たれますか?

はい — すべてブラウザ内で動作します。あなたのYAMLコードがサーバーに送信されたり、保存されたり、記録されたりすることは一切ありません。これは設定シークレット、APIキー、データベース認証情報を含む可能性のあるYAMLファイルには特に重要です。コンテンツを処理のためにバックエンドに送信するWebベースのYAMLツールとは異なり、このフォーマッターはJavaScriptを使用してブラウザ内で完全にパース・整形します。

iPhoneやAndroidでも使えますか?

はい。エディターはレスポンシブで、iPhoneのSafariとAndroidのChromeで動作します。クリップボードからYAMLをペーストすることもモバイルで機能し、整形された出力とエラーメッセージは小さな画面でも明確に表示されます。すべてクライアントサイドで動作するため、遅いモバイル接続でもサーバーとの往復なしに整形が瞬時に行われます。

サインアップや支払いは必要ですか?

いいえ。YAMLフォーマッターはアカウント不要、使用制限なしで完全無料です。YAMLの整形、検証、変換を好きなだけ行えます。常に無料で提供されます。