YAMLフォーマッター&バリデーター
YAMLをオンラインでフォーマット、検証、整形できます。行番号付きで構文エラーを即座にハイライト表示。無料でブラウザ上で完結。
使い方
- 入力エリアにYAMLを貼り付けます
- 「フォーマット&検証」をクリックして整形と構文チェックを行います
- YAMLが無効な場合、エラーメッセージに正確な行番号と問題が表示されます
- インデントセレクターで出力のインデントを調整できます
- 「コピー」で整形結果をコピーするか、「クリア」でリセットします
よくある質問
-
YAMLの検証とは何ですか?
YAML検証とは、ドキュメントが正しいYAML構文に従っているか(適切なインデント、重複キーなし、有効なデータ型、特殊文字の正しい使用)を確認することです。
-
フォーマットするとデータが変わりますか?
いいえ。フォーマットは空白とインデントのみを変更します。データ構造と値はまったく変わりません。
-
YAMLの一般的な構文エラーにはどんなものがありますか?
よくあるエラーには、インデントの不一致(タブとスペースの混在)、キーの後のコロン欠落、: や # などの特殊文字を含む未引用文字列、重複キーなどがあります。
-
入力したYAMLはサーバーに送信されますか?
いいえ。すべてのフォーマットと検証は、js-yamlライブラリを使用してブラウザ上で完全に処理されます。データがデバイス外に出ることはありません。
-
YAMLとJSONの違いは何ですか?
YAMLはJSONのスーパーセットで、コメント、複数行文字列をサポートし、記述量が少なくて済みます。JSONは波括弧と引用符を使いますが、YAMLはインデントを使います。YAMLは設定ファイルに、JSONはAPIによく使われます。
YAMLとは何か
YAML(YAML Ain't Markup Language)は、人間が読み書きしやすいデータシリアライゼーション形式です。2001年にClark Evans、Ingy döt Net、Oren Ben-Kiwiによって設計されました。現在はYAML 1.2が最新の仕様で、有効なJSONはすべて有効なYAMLでもあります。
YAMLの基本文法
YAMLはインデント(スペース)を使って構造を表現します。タブ文字は使用できず、インデントのズレが構文エラーの最多原因です。
# コメントはシャープで記述
name: 山田太郎
age: 30
address:
city: 東京
zip: "100-0001" # 数字っぽい文字列は引用符で囲む
tags:
- developer
- backend
YAMLとJSONの対応関係
同じデータ構造をYAMLとJSONで表現すると、YAMLの簡潔さがよくわかります。
YAML:
database:
host: localhost
port: 5432
name: myapp
同等のJSON:
{
"database": {
"host": "localhost",
"port": 5432,
"name": "myapp"
}
}
YAMLは波括弧、引用符、カンマが不要なため、記述量が少なくなります。
よくある構文エラーとその原因
インデントの不一致
YAMLで最も多いエラーです。同じレベルの項目は同じ数のスペースでインデントしなければなりません。スペースとタブを混在させると必ずエラーになります。
特殊文字の未クォート
次の値を引用符なしで書くと意図しない型変換が起こります:
yes/no→ ブール値(true/false)として解釈される場合あり(YAML 1.1)1.0→ 数値として解釈null→ null値2024-01-15→ 日付オブジェクトとして解釈される場合あり
文字列として扱いたい場合は引用符(シングルまたはダブル)で囲みましょう。
重複キー
YAMLは仕様上、同一マッピング内での重複キーを禁止していますが、多くのパーサーは警告を出さずに後の値で上書きします。バリデーターを使って早期に検出することが重要です。
YAMLが使われる場面
YAMLは設定ファイルの標準フォーマットとして多くのツールで採用されています:
- Kubernetes:マニフェストファイル(Pod、Deployment、Serviceなど)
- GitHub Actions / GitLab CI:CI/CDパイプラインの定義
- Docker Compose:コンテナ構成ファイル
- Ansible:インフラ自動化のPlaybook
- Ruby on Rails:設定ファイル(
database.ymlなど)
これらのツールを使う開発者にとって、YAMLの正確な文法理解とバリデーションは必須スキルです。