JSON・YAML・CSV 相互変換

チートシートPDF

データを貼り付けて、入力と出力の形式を選んでください。入力の形式は自動で判定します。

入力

結果

🔗 この結果を別のツールで続けて使う

結果を入れた状態で、選んだツールを開きます(データは送信も保存もしません)。

入力したデータは送信も保存もしません。悪用することも一切ありません。くわしく

JSON・YAML・CSV の違い

JSON・YAML・CSV は、どれもデータをテキストで表すための形式ですが、得意なことが違います。 API のレスポンスは JSON、設定ファイル(Docker Compose・Kubernetes・GitHub Actions など)は YAML、 Excel でやりとりする表は CSV、というように場面ごとに使い分けられているため、形式を変換したい場面がよくあります。

形式特徴よく使う場面
JSONカッコとカンマで構造を表す。プログラムで扱いやすいWeb API、設定ファイル、データの保存
YAMLインデントで構造を表す。人が読み書きしやすく、コメントが書けるDocker Compose、Kubernetes、CI の設定
CSV1行が1件、カンマ区切りの表。入れ子は表せないExcel、データの取り込み・書き出し

変換のルール

変換どうなるか
JSON ⇔ YAML構造はそのまま。YAML のコメントは消える
CSV → JSON / YAML1行目を見出し(キー)にして、オブジェクトの配列に
JSON / YAML → CSVオブジェクトの配列を表に。入れ子は a.b の列に、配列は JSON の文字に
列名に . がある CSV → JSONuser.name を {"user": {"name": …}} の入れ子に戻す

YAML を書くときの注意

  • インデントはスペースで。タブを使うとエラーになります。
  • yes・no・on・off は、古い YAML(1.1)では真偽値として読まれることがあります。文字として扱いたいときは "yes" のように囲みましょう。
  • 0123 のような先頭が0の数字や、1:30 のような値は、思わぬ数値に変わることがあります。郵便番号や時刻はクォートで囲むのが安全です。

JSON の整形や構文エラーの場所を知りたいときはJSON整形、 Excel の表を Markdown や SQL にしたいときはExcel表の変換をどうぞ。

よくある質問

入れ子になった JSON を CSV にするとどうなりますか?

{"user": {"name": "山田"}} のような入れ子は「user.name」という列に平らにします。配列は ["a","b"] のような JSON の文字のまま1つのセルに入れます。逆に「user.name」のような列名の CSV を JSON にすると、入れ子に戻します。

CSV の数値や空欄はどう変換されますか?

「数値・true/false を型つきに」にチェックがあると、123 は数値、true/false は真偽値、空欄は null になります。先頭が0の番号(00123 など)は、0 が消えないよう文字のまま残します。チェックを外すと、すべて文字列になります。

YAML のコメントやアンカー(&・*)は残りますか?

YAML を読み込むとき、アンカーとエイリアスは展開して値になります。コメントは JSON や CSV には残せないため、変換すると消えます。

Excel のファイルを JSON にできますか?

「Excel・CSVファイルを開く」で .xlsx を選ぶと、1行目を見出しとして表を読み込みます。シートが複数あるときは選べます。ファイルはブラウザの中で読むだけで、送信しません。

変換・計算の結果は正確さに努めていますが、すべての入力での動作を保証するものではありません。 業務で使う場合は、重要なデータは結果を確認してからご利用ください。詳しくは免責事項をご覧ください。