JSON ↔ YAML 変換
JSONかYAMLを貼り付けると、もう一方の形式にすぐ変換します。方向は最初の文字で判定します。
入力
出力
JSON ↔ YAML 変換の使い方
- 1入力欄にJSONかYAMLを貼り付けるか、「例を入れる」を押します。{ か [ で始まる入力はJSONとして読みます。
- 2必要に応じて方向とインデントを選びます。「入れ替え」を押すと結果が入力に移り、逆方向に変換されます。
- 3「コピー」で結果をコピーするか、「ダウンロード」で .yaml または .json ファイルとして保存します。
JSON ↔ YAML 変換のオプション
- 方向
- 自動では { か [ で始まる入力をJSON、それ以外をYAMLとして読みます。YAML文書が括弧で始まる場合など、方向を固定したいときは JSON → YAML または YAML → JSON を選びます。
- YAMLインデント
- 出力するYAMLのインデントです。2スペース(既定)または4スペース。
- JSONインデント
- 出力するJSONのインデントです。2スペース(既定)または4スペース。
YAML 1.2とノルウェー問題
このツールはYAMLを YAML 1.2 のcoreスキーマで、JSONを RFC 8259 に沿って読み取ります。YAML 1.1では、引用符のない yes、no、on、off が真偽値で、国コードの NO も同じ扱いでした。そのため、国コードの一覧でノルウェーがいつのまにか false に変わることがありました。YAML 1.2はこの規則をなくしました。真偽値は true と false だけで、2026-10-02 のように日付に見える値もただの文字列です。入力の先頭に %YAML 1.1 があっても同じように読みます。
YAML 1.1のパーサーを使うプログラムはまだ多くあります。そこでYAMLを書き出すときは、古いパーサーが真偽値・数値・日付・nullとして読みかねない文字列を引用符で囲みます。たとえば "yes"、"NO"、"2026-10-02" です。こうすると、どちらのバージョンでも文字列として読まれます。
残るものと失われるもの
キーの順序はどちらの方向でもそのままです。数値は文字として写すので、大きな整数や小数の末尾の0は往復しても残ります。JSONのエラーは、JSON整形ツールと同じ行・列・文言でお知らせします。
YAMLはJSONで表せないものも書けます。コメント、アンカー名、タグは失われます。キーは必ず文字列になるので、キー 1 は "1" になります。複数行のブロックテキストは、改行が \n のJSON文字列1つになります。
JSON ↔ YAML 変換の例
JSONをYAMLに(既定:自動、2スペース)
入力
{"name":"ZEKILO","tools":["json","base64"],"port":8080}出力
name: ZEKILO tools: - json - base64 port: 8080
YAMLをJSONに:NOとyesは文字列
YAML 1.1のパーサーはどちらの値も真偽値として読みます。YAML 1.2ではそうなりません。
入力
country: NO enabled: yes
出力
{ "country": "NO", "enabled": "yes" }エイリアスは値に展開されます
アンカー名 x はJSONに移す場所がないため失われ、そのことをお知らせします。
入力
a: &x 1 b: *x
出力
{ "a": 1, "b": 1 }閉じていない括弧
入力
a: [1, 2
出力
1行 9列 · YAMLの構文エラー
例は、このツールを検証している基準ケースの値です。
JSON ↔ YAML 変換のよくある質問
入力したデータはサーバーに送信されますか?
いいえ。入力と結果はこのブラウザ内だけで処理され、保存もしません。再読み込みすると消えます。
NO・yes・offが文字列のままなのはなぜですか?
このツールはYAML 1.2に従います。1.2で真偽値になるのは true と false だけです。YAML 1.1は yes・no・on・off・y・n も真偽値として読むため、国コードの NO(ノルウェー)が false に変わる問題がありました。YAMLを書き出すときは、こうした文字列を引用符で囲み、YAML 1.1のパーサーでも文字列として読めるようにします。
コメントとアンカーはどうなりますか?
JSONにはどちらもありません。コメントとアンカー名は失われ、エイリアスは指している値に置き換わります。その場合はお知らせを表示します。自分自身を指すエイリアスはエラーとしてお知らせします。
大きな数値や小数は変わりませんか?
変わりません。数値はどちらの方向でも書かれた文字のまま写すので、12345678901234567890 や 1.0 はそのまま出力されます。0x1F や +1 のようにJSONにない表記だけを10進数に書き換え、.inf と .nan は null になります。
複数のYAML文書を含むファイルはどうなりますか?
--- で区切られた文書は、文書ごとに1要素のJSON配列1つになります。文書が1つだけの場合は配列で囲みません。
関連ツール
処理方法・標準
- 処理する場所:このブラウザ(お使いの端末)。送信も保存もしません。
- 標準: YAML 1.2 · RFC 8259
- エンジン: yaml 2.9.1 (ISC) · ZEKILO Dev JSONパーサー (自社実装)
- マージキー(<<)はYAML 1.1の機能で、YAML 1.2のcoreスキーマにはありません。<< という名前の通常のキーとしてそのまま残します。
- !mytag のような独自タグは取り除き、値だけを移します。配列やオブジェクトをキーにしたYAMLはJSONで表せないため、エラーとしてお知らせします。
- JSONに同じキーが2回ある場合、YAMLには最後の値だけを書き、お知らせを表示します。
- 基準日 2026.10.03
- 変更履歴: 2026.10.03 公開