YAML ↔ JSON コンバーター&フォーマッター

YAML と JSON 形式を相互変換したり、YAML をフォーマット・バリデーションできます。入力形式を自動検出。無料でブラウザ上で動作します。

使い方

  1. YAML または JSON を入力エリアに貼り付けてください——ツールが形式を自動検出します
  2. 「JSON に変換」をクリックして JSON に変換するか、「YAML に変換」をクリックして YAML に変換します
  3. 「YAML をフォーマット」を使うと、変換せずに YAML ドキュメントを整形できます
  4. 「圧縮」を使うと、コンパクトな1行の JSON 出力を生成できます
  5. インデントセレクターを調整して出力のインデントを制御します
  6. 「コピー」をクリックして結果をコピーするか、「クリア」をクリックしてリセットします

よくある質問

  • YAML とは何ですか?

    YAML(YAML Ain't Markup Language)は人間が読みやすいデータシリアライゼーション形式で、設定ファイル、CI/CD パイプライン、Kubernetes マニフェストなどによく使われます。波括弧の代わりにインデントで構造を表します。

  • JSON の代わりに YAML を使うべき場面はいつですか?

    設定ファイルや人が直接読み書きするファイルには YAML を使いましょう。コメントをサポートしており、記述量も少なく済みます。API レスポンスやデータ交換には JSON を使いましょう。より広くサポートされており、厳密に定義されています。

  • YAML は JSON のすべてを表現できますか?

    はい。JSON は YAML のサブセットです——有効な JSON はすべて有効な YAML でもあります。YAML はさらにコメント、複数行文字列、アンカー、エイリアスをサポートしています。

  • データはサーバーに送信されますか?

    いいえ。すべての変換は js-yaml ライブラリを使用してブラウザ内で完全に行われます。データがデバイスの外に出ることはありません。

  • 入力が無効な場合はどうなりますか?

    ボタンの下にエラーメッセージが表示され、解析に失敗した場所が正確に説明されます。問題をすばやく特定して修正できます。

YAMLとJSONの使い分け

YAMLとJSONはどちらも構造化データを表現する形式ですが、それぞれ得意な用途が異なります。適切な場面で使い分けることが、開発効率とメンテナンス性の向上につながります。

YAMLが適している場面

人が直接読み書きする設定ファイルにはYAMLが向いています。なぜならYAMLはコメントをサポートし、引用符やカンマが不要で、視覚的なノイズが少ないからです。

代表的な例:

  • Kubernetes マニフェスト(deployment.yaml
  • GitHub Actions ワークフロー(.github/workflows/*.yml
  • Docker Compose(docker-compose.yml
  • Ansible Playbook

コメントが書けることは特に重要です。設定の意図や注意事項を残せるため、チームでの共同作業や後からのメンテナンスに役立ちます。

JSONが適している場面

API通信やプログラム間のデータ交換にはJSONが向いています。仕様が厳密に定義されており(RFC 8259)、ほぼすべてのプログラミング言語とフレームワークが標準でサポートしています。

代表的な例:

  • REST APIのリクエスト・レスポンスボディ
  • package.jsontsconfig.jsonなどのツール設定
  • LocalStorageやIndexedDBでのデータ保存
  • WebSocketでのメッセージ

変換時の注意点

コメントの消失

YAMLからJSONに変換すると、コメントは失われます。YAMLはコメントをサポートしていますが、JSONはコメントをサポートしていないためです。重要な説明は変換後のJSONに別の方法(ドキュメントや$commentフィールドなど)で記録しておきましょう。

型変換の罠

YAML 1.1には、yes/noon/offをブール値として解釈するという仕様があります。これがJSONに変換されるとき、"yes"という文字列ではなくtrueになる可能性があります。YAML 1.2以降ではこの挙動が変わっていますが、パーサーによって差異があるため注意が必要です。

アンカーとエイリアスはJSONに変換できない

YAMLの強力な機能の一つに、&anchor*aliasによるデータの再利用があります。

defaults: &defaults
  timeout: 30
  retries: 3

production:
  <<: *defaults
  host: prod.example.com

このような参照構造は、JSONに変換すると展開されて重複したデータになります。変換前にアンカーの使用をご確認ください。

相互変換ツールの実際の活用例

  • Kubernetes設定をAPIで操作:YAMLで書いたマニフェストをJSONに変換し、Kubernetes APIに直接送信する
  • APIレスポンスを設定に落とし込む:APIから取得したJSON設定データをYAMLに変換し、読みやすい形で保存・管理する
  • CI/CDパイプラインのデバッグ:YAML形式のパイプライン定義をJSONに変換してパース結果を検証する

このように、YAMLとJSONの相互変換は現代のDevOps・Web開発において日常的に必要とされる作業です。