YAML JSON 変換器

YAMLとJSONを即座に相互変換。ネストオブジェクト・配列・YAML 1.2全機能対応。無料、ブラウザ内で処理。

  • ブラウザ内で処理
  • データはブラウザ外に出ません
  • 無料 · 登録不要
両方の欄、ステータス、待機中の変換をクリアします。ツール内にフォーカスがある場合は、Ctrl+L(Mac は ⌘+L)でもクリアできます。
YAML 文書を1つ貼り付けます。入力を止めて0.3秒後に、JSON 欄がスペース2個のインデントで更新されます。JSON で元の値を保てない場合は変換を止め、フィールドのパスと理由を表示します。
YAML 欄に現在あるテキストを、編集した内容も含めてすべてコピーします。空の欄はコピーできません。
JSON を貼り付けます。入力を止めて0.3秒後に、YAML 欄がスペース2個のインデントで更新されます。長い行は折り返し形式に変換しません。
JSON 欄に現在あるテキストを、編集した内容も含めてすべてコピーします。空の欄はコピーできません。
例・詳しい説明・よくある質問 実際の出力つきの例、ほかのツールとの違い、よくある質問。

YAMLとJSONの使い分け

YAMLはDocker Compose、Kubernetes、GitHub Actions、Ansible、Helm Chartsなどの設定ファイルで広く使われています。JSONはREST API、Webブラウザ、プログラム間のデータ交換に適しています。両形式の変換が必要な場面で活用してください。

型が変わる値

このツールは js-yaml 4.3.2 を使い、YAML 1.2 の core schema とタイムスタンプに従います。次の入力はこう変換されます。

YAMLJSON補足
country: NO"NO"文字列。PyYAML など YAML 1.1 のパーサーは false と読む
enabled: yes"yes"同上。真偽値なら true と書く
version: 1.101.1数値として解析される。バージョン番号は引用符で囲む
mode: 0755755YAML 1.2 では先頭の 0 は 8 進数を意味しない。0o755 と書く
zip: 012341234先頭の 0 が消える。この種のコードは引用符で囲む
date: 2026-09-29"2026-09-29T00:00:00.000Z"日付は UTC のタイムスタンプになる
at: 2026-10-01T09:30:00+09:00"2026-10-01T00:30:00.000Z"オフセットは UTC に換算される。JSON に日付型はないので UTC の ISO 8601 文字列になる。時刻は同じだが、書かれていた +09:00 は残らない
zero: -0.0-0.0負のゼロは符号を保つ(JSON.stringify だけでは 0 になる)
empty:null値のないキーは null

制限事項

  • 変換できる文書は 1 つだけです。 --- で区切られた入力は expected a single document in the stream, but found more というエラーになります。

  • JSON や YAML で表せない値があると変換しません。 YAML の .inf・-.inf・.nan と、どちらの方向でも ±(2^53 − 1) を超える整数は、変換で値が変わります(JSON.stringify は null と書き、JSON.parse と js-yaml は大きな整数を丸めます)。ステータス行に各フィールドを JSON Pointer で示します。次の YAML は

    size: .inf
    id: 9007199254740993

    変換していません:JSON では次の値を変えずに表せません:/size:inf は JSON で表せません(JSON.stringify は null と書きます);/id:整数 9007199254740993 は ±(2^53 − 1) を超えるため、JavaScript では丸められます になります。1e400 のように倍精度の範囲を超える JSON の数値も同じように示します。大きな ID は引用符で囲んでください。変換できる入力になるまで、出力パネルは空になりコピーボタンは無効です。

  • 存在しない日付とミリ秒より細かい時刻は変換しません。 js-yaml は Date.UTC で日付を作るため 2026-02-31 を 3 月 3 日に繰り越し、時刻はミリ秒までしか残しません。こうしたタイムスタンプがあると変換を止めます。次の YAML は

    due: 2026-02-31
    at: 2026-10-01T09:30:00.123456Z

    変換していません:JSON では次の値を変えずに表せません:/due:2026-02-31 は有効な日付・時刻ではありません;/at:2026-10-01T09:30:00.123456Z はミリ秒より細かい精度を持っています になります。テキストとして扱いたい値は引用符で囲んでください(due: "2026-02-31")。有効な日付・時刻は上の表のとおり UTC に変換します。

  • js-yaml の処理上限。 js-yaml 4.3.2 は、ネストが 100 階層を超える文書、マージキー(<<)で処理するマッピングとキーが合計 10,000 個を超える文書、1 つのマージキーに 100 個を超えるマッピングを並べた文書を止めます。例:無効な YAML: コレクションのネストが 100 階層を超えています(js-yaml の既定の上限) (1:103)。

  • 重複したキーはエラーになります(duplicated mapping key)。黙って上書きはしません。

  • コメントとアンカーは残りません。 アンカーと << のマージキーは展開されて普通のコピーになります。

  • JSON の整数 -0 は 0 になります。 {"count":-0,"offset":-0.0} は count: 0 と offset: -0.0 になります。YAML 1.2 は -0 を整数のゼロとして読み、-0.0 は負の浮動小数点ゼロのままです。

  • JSON → YAML では曖昧な文字列を引用符で囲みます('1.10'、'yes'、'NO' など)。読み直しても文字列のままです。

FAQ

YAMLとJSONの違いは何ですか?

YAMLはインデントで構造を表現し、コメント・複数行文字列・アンカー&エイリアスなどの機能を持ち、人間にとって読み書きしやすい形式です。JSONはより厳密で機械処理向けです。設定ファイルにはYAML、APIにはJSONが多く使われます。

YAMLのコメントは変換後も保持されますか?

いいえ。JSONにはコメントの概念がないため、YAML→JSON変換時にコメントは除去されます。

YAML 1.2に完全対応していますか?

主要な機能(ネストオブジェクト・配列・文字列型・数値型・真偽値・ヌル・アンカー&エイリアス)に対応しています。

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

いいえ。すべての変換処理はブラウザ内で完結します。