無料オンラインJSONからYAMLへの変換ツール
JSONオブジェクトを読みやすいYAML構文に変換します。DevOps設定、Docker Compose、Kubernetesに最適で、サーバーへのアップロードは不要です。
JSON入力
YAML出力
JSONをYAMLに変換する方法
変換方向を選びます。
上部で「JSON → YAML」または「YAML → JSON」を選びます。切り替えると両方のエディターがクリアされるため、方向を選んでから入力を貼り付けてください。
貼り付けて変換します。
左のエディターに貼り付け、必要に応じてYAMLのインデントを2または4に設定し、「変換」をクリックします。結果は右側に表示されます。
コピーまたは入れ替えます。
「コピー」をクリックして結果を取得します。「入れ替えモード」をクリックすると、出力が入力欄に移り、逆方向に変換されます。
よくある質問
JSONとYAMLを変換するときの、引用符、複数行の文字列、コメント、日付、エラーについての回答です。
JSONをYAMLに変換するにはどうすればよいですか?
「JSON → YAML」タブを選んだまま、左のエディターにJSONを貼り付けて「変換」をクリックします。右側にYAMLが表示され、デフォルトのインデントは2スペースです。インデントを広くしたい場合は、YAMLのインデントメニューで4を選び、もう一度「変換」をクリックしてください。
YAMLをJSONに変換するにはどうすればよいですか?
「YAML → JSON」タブをクリックし、YAMLを貼り付けて「変換」をクリックします。2スペースのインデントのJSONが得られます。直前にJSONをYAMLに変換した場合は、「入れ替えモード」を使うと、そのYAMLが入力欄に移り、自動で逆方向に変換されます。
YAMLはJSONのスーパーセットですか?
はい、YAML 1.2ではそのとおりです。有効なJSONはすべて有効なYAMLでもあるため、「YAML → JSON」タブにJSONを貼り付けても解析できます。YAMLにはコメント、アンカー、ブロック文字列、引用符なしのキーが加わるため、同じデータでもYAMLのほうが短く見えます。
一部の値が引用符で囲まれているのはなぜですか?
文字列によっては、そのままにすると型が変わってしまうことがあります。YAMLリーダーは yes、on、true、null、123、2024-01-01 を、真偽値、数値、null、日付として扱う場合があるため、変換ツールはそれらの文字列を一重引用符で囲みます。JSONに含まれる本物の数値や真偽値は、引用符なしのままです。
複数行の文字列や長い文字列はどのように書き出されますか?
改行を含む文字列は、1行ずつ並んだ | ブロックになります。|- は最後に改行がないことを意味します。スペースを含み、約80文字を超える文字列は、>- で複数行に折りたたまれます。どちらの形式も、読み戻すと完全に同じテキストになります。
コメント、アンカー、マージキーはどうなりますか?
YAMLをJSONに変換すると、JSONにはコメントがないためコメントは削除されます。アンカー(&)、エイリアス(*)、<< マージキーは、値の完全なコピーとして展開されます。YAMLに戻して変換した場合も、アンカーではなくそれらのコピーが書き出されます。
YAMLの日付がタイムスタンプになったのはなぜですか?
パーサーは引用符のない日付を日付として読み取り、JSONでは完全なタイムスタンプとして保存されるため、d: 2024-01-01 は 「2024-01-01T00:00:00.000Z」 になります。日付を引用符で囲むと、テキストのまま保持できます。.inf や .nan のような値は、JSONにそのような数値がないため null になります。
YAMLでエラーが表示されるのはなぜですか?
よくある原因は、インデントにタブを使っている、キーのインデントが1スペースずれている、同じキーが2回ある、--- で複数のドキュメントに分かれている、のいずれかです。エラーメッセージには行と列が示され、周辺の行も表示されます。一度に変換できるYAMLドキュメントは1つだけです。
インデントは2スペースか4スペースを選べますか?
はい、JSONからYAMLへの変換で選べます。YAMLのインデントメニューで2または4スペースを選べます。変更後はもう一度「変換」をクリックしてください。4スペースの場合、オブジェクトを含むリスト項目では、ハイフンが独立した行に置かれます。JSONの出力は常に2スペースです。
大きなファイルでJSONからYAMLへの変換が遅いのはなぜですか?
このツールにサイズ制限はありませんが、大きなJSONをYAMLに変換する処理は急激に遅くなります。同じコードでのテストでは、0.7 MBで0.2秒、2.9 MBで約3秒、7 MBで約15秒かかり、その間ページが応答しなくなることがあります。YAMLからJSONへの変換のほうが高速です。
JSONやYAMLを変換するとき、データはプライベートに保たれますか?
変換はjs-yamlライブラリを使ってお使いのデバイス上で実行されるため、JSONとYAMLはページ内にとどまります。分析では、「変換」や「コピー」などのクリックと、実行にかかった時間を記録します。ただし1点注意があります。解析に失敗した場合、分析に送信されるエラーテキストに、入力内容の数行が引用されることがあります。
JSON YAML変換の機能:双方向対応、きれいな出力
js-yamlでJSONをYAMLに、YAMLをJSONに変換できます。インデントは2または4スペースから選べ、解析エラーは行と列つきで確認できます。

きれいなインデントでJSONをYAMLに変換
JSONを貼り付けて「変換」をクリックすると、ブロックスタイルのYAMLが得られます。入れ子のオブジェクトはインデントされたキーに、配列はハイフン付きのリストになります。1階層あたりのスペース数は、インデントメニューから2または4を選べます。
- インデントは2または4スペース
- 配列はハイフン付きのリストで出力
- スペースを含む長い文章は80文字で折りたたみ

YAMLからJSONへ、そして元に戻す変換
「YAML → JSON」に切り替えると、設定ファイルを2スペースのインデントのJSONに変換できます。「入れ替え」を押すと出力が入力欄に移り、逆方向に変換されるため、往復変換の結果を確認できます。
- YAMLからJSONへ、2スペースのインデントで変換
- 「入れ替え」でワンクリックで変換方向を切り替え
- アンカーとマージキーを展開
YAMLで必要な場所に引用符を付与
yes、on、null、123、2024-01-01 のように、YAMLが別の型として読み取る可能性のある文字列は、出力で一重引用符で囲まれます。そのため、どのYAMLリーダーでもテキストのまま扱われます。
複数行の文字列を読みやすく保持
改行を含む文字列は、\n だらけの長い1行ではなく、1行ずつ並んだ | ブロックになります。読み戻しても、改行を含めて同じテキストになります。
行と列つきのエラー表示
入力を解析できない場合は、その理由と場所が表示されます。YAMLのエラーでは、行と列が示され、周辺の行も表示されます。たとえば、インデントにタブを使っている場合などです。
無料でアカウント不要
登録も使用回数の制限もありません。js-yamlライブラリはページと一緒に読み込まれるため、変換はサーバーではなくお使いのデバイス上で実行されます。
JSON YAML変換の活用例
ツールがどちらか一方の形式しか読み込めないときに、設定ファイルやAPIファイルをJSONとYAMLの間で変換できます。
KubernetesとDocker
kubectlのJSON出力やJSON設定を、マニフェストとしてコミットできるYAMLに変換できます。また、YAMLマニフェストをスクリプト用のJSONとして読み込むこともできます。
- kubectl get -o json の出力をYAMLに変換
- Docker ComposeファイルをJSONで編集し、再びYAMLに変換
- デプロイ前にHelmのvaluesをJSONで確認
CI/CD設定
GitHub ActionsなどのCIサービス向けに、パイプライン設定をJSONとYAMLの間で変換できます。YAMLのコメントはJSONに変換すると削除されるため、コピーを残しておいてください。
- GitHub ActionsのワークフローをJSONで読み込み
- タブや誤ったインデントを行単位で特定
- JSONテンプレートからYAML設定を作成
API開発
使用するツールに合わせて、OpenAPIやAsyncAPIの仕様をJSONとYAMLの間で切り替えられます。$ref は通常のキーのまま残り、展開されるのはYAMLのアンカーだけです。
- OpenAPIのJSON仕様をYAMLに変換
- YAML仕様をコードツール向けにJSONへ変換
- 「入れ替え」で仕様を往復変換して比較
その他のツールを見る
このツールと組み合わせて使える、ほかの無料ツールもご覧ください