メインコンテンツへスキップ

YAML・JSON 相互変換

YAMLとJSONを双方向でリアルタイム変換できる無料オンラインツール。Docker Compose・Kubernetes・GitHub Actions・Ansible 等の設定ファイルをJSONに変換して構造確認したり、JSONを人間が読みやすいYAMLに整形。ネスト・配列・複数行文字列に対応、ブラウザ完結で外部送信なし。

YAMLとJSONを双方向で変換するツールです。Docker Compose・Kubernetes・GitHub Actions などの設定ファイルの構造確認や、JSON からの設定ファイル生成に便利です。

YAML・JSON 相互変換
インデント
YAMLを入力してください...

// YAML・JSON 相互変換の機能と特徴

YAMLは「人間に優しい設定ファイル」

YAMLはインデントで階層を表現する、読みやすさ重視の設定ファイル形式です。JSONと同じデータ構造を表現できますが、カッコが少なくコメントも書けるので、人が編集する設定ファイルとして広く使われています。Kubernetes・Docker Compose・GitHub Actions・Ansible・CircleCI・GitLab CI など、開発現場で必ず目にする形式のひとつです。

JSON化すると何が便利か

YAMLをJSONに変換すると、プログラムから機械的に扱いやすくなります。「設定ファイルの構造を可視化したい」「複数ファイルをdiff比較したい」「API経由で送信したい」「JavaScriptで動的に加工したい」といった作業がぐっと楽になります。逆に、既存のJSONを人間が読み書きしやすいYAMLに変換すれば、チームメンバーへの共有・レビューがしやすくなります。

対応する記法

基本のキー・バリューはもちろん、ネスト・配列(`- 記法`)・複数行文字列(`|` `>`)・インライン記法(`{key: val}` `[1,2,3]`)・型推論(true/false/null/数値)・コメント(`#`)に対応。実務で書かれるYAMLファイルはほぼそのまま変換できます。ただしアンカー(`&` `*`)とマルチドキュメント(`---`)は現バージョン非対応です。

関連ツール

Cargo.toml・pyproject.toml等のTOMLはTOML⇔JSON変換、Excelからのタブ区切りデータはTSV⇔JSON変換、CSV は CSV⇔JSON変換 をご利用ください。JSONを整形して確認したいときは JSON整形ツール が便利です。

// YAML・JSON 相互変換に関するよくある質問

YAMLってどんな時に使うんですか?
Kubernetes のマニフェスト、Docker Compose、GitHub Actions のワークフロー、Ansible の Playbook、CircleCI・GitLab CI の設定など、開発・運用の現場で幅広く使われています。人間が読み書きしやすく、コメントも書ける・階層をインデントで表現できる特徴があり、設定ファイルとしての採用例が非常に多い形式です。
JSONに変換するとどんな利点がありますか?
プログラムから機械的に処理しやすくなります。JavaScript・Python・Go など全ての言語で標準対応しているので、YAMLをJSONに変換してから加工・比較・API送信するのが定石です。また、構造を可視化して「設定が入り組みすぎていないか」を確認するのにも便利です。
どんなYAML記法に対応していますか?
基本的なキー・バリュー、ネスト構造、配列(`- item`)、複数行文字列(`|` `>`)、インライン記法(`{k:v}` `[1,2]`)、コメント除去、型の自動判定(true・false・null・数値)に対応しています。実務で書かれる大半のYAMLはそのまま変換できます。ただしアンカー(`&` `*`)は非対応です。
エラーが出るのはなぜ?
主な原因は (1) インデントがスペースとタブで混在している、(2) コロンの後にスペースがない(`key:value` はNG、`key: value` が正解)、(3) 引用符の閉じ忘れ、(4) 対応していない記法(アンカー等)、です。エラーメッセージに行番号が出るので該当箇所を確認してください。
逆にJSONからYAMLも作れますか?
はい、モード切替でJSON→YAMLも可能です。JSONを人間が読みやすいYAMLに変換して、設定ファイルとして配布・レビューしやすくできます。生成されるYAMLは標準的な2スペースインデントで、そのままファイルとして保存できます。
インデント幅は変更できますか?
はい、JSON出力のインデント幅を2スペース・4スペース・タブから選べます。YAMLは仕様上インデントで意味が決まるので、YAML出力は常に2スペースで生成されます(一般的な慣習)。
複数行の文字列(`|`や`>`)はどうなりますか?
YAML→JSON変換では、`|`(リテラルブロック)は改行を保持した文字列に、`>`(フォールドブロック)は改行を空白に置き換えた文字列に変換されます。JSON→YAML変換では、改行を含む長い文字列は自動的に`|`記法で出力され、人間が読みやすい形になります。
SWAPボタンは何をしますか?
変換結果を入力欄に移動して逆方向に変換できるボタンです。「JSONに変換した結果をまたYAMLに戻したらどうなるか」を素早く試せるので、変換後の整合性チェックや、YAML↔JSON間の書き換え作業がスムーズになります。
Kubernetesのマニフェストは変換できますか?
はい、Kubernetes YAMLの大半はそのまま変換できます。ただし `---` で複数のリソースを1ファイルに書くマルチドキュメント形式は現バージョン非対応です。1リソースずつ分けて変換してください。Docker Compose・GitHub Actions・Ansible などは通常1ドキュメントなので問題なく扱えます。
データはサーバーに送信されますか?
いいえ、すべての処理はブラウザ内のJavaScriptで完結します。入力データが外部に送信されることはありません。社内の Kubernetes マニフェスト、機密情報を含む Ansible の変数、未公開の GitHub Actions ワークフローなども安心して変換できます。

// YAML・JSON 相互変換の使い方

  1. 変換方向を選択

    「YAML → JSON」または「JSON → YAML」を選択します。既存のYAML設定ファイルの中身を確認したいなら前者、JSONを人間向けに整形したいなら後者を選んでください。

  2. データを貼り付け

    入力欄にYAMLまたはJSONを貼り付けます。設定ファイルの中身・API レスポンス・ドキュメント例など、任意のテキストを扱えます。

  3. 結果を確認・コピー

    右側に変換結果がリアルタイムで表示されます。COPYボタンでクリップボードに保存し、そのままファイル保存・ドキュメント貼付け・API送信に使えます。SWAPボタンで入出力を入れ替えて逆変換の確認もできます。

カテゴリ データ形式