YAML ↔ JSON コンバーター&フォーマッター
YAML と JSON 形式を相互変換したり、YAML をフォーマット・バリデーションできます。入力形式を自動検出。無料でブラウザ上で動作します。
使い方
- YAML または JSON を入力エリアに貼り付けてください——ツールが形式を自動検出します
- 「JSON に変換」をクリックして JSON に変換するか、「YAML に変換」をクリックして YAML に変換します
- 「YAML をフォーマット」を使うと、変換せずに YAML ドキュメントを整形できます
- 「圧縮」を使うと、コンパクトな1行の JSON 出力を生成できます
- インデントセレクターを調整して出力のインデントを制御します
- 「コピー」をクリックして結果をコピーするか、「クリア」をクリックしてリセットします
よくある質問
-
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.json、tsconfig.jsonなどのツール設定- LocalStorageやIndexedDBでのデータ保存
- WebSocketでのメッセージ
変換時の注意点
コメントの消失
YAMLからJSONに変換すると、コメントは失われます。YAMLはコメントをサポートしていますが、JSONはコメントをサポートしていないためです。重要な説明は変換後のJSONに別の方法(ドキュメントや$commentフィールドなど)で記録しておきましょう。
型変換の罠
YAML 1.1には、yes/noやon/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開発において日常的に必要とされる作業です。