このツールでできること
JSON・CSV・TSV・YAML・XMLという5つの主要なテキスト系データ形式を、ブラウザ上で双方向に変換するためのツールです。APIレスポンスをExcelに取り込みたい、ExcelのデータをそのままYAMLの設定にしたい、レガシーシステムのXMLを今どきのJSONに変換したい――そんな日常的に発生する「形式が違うだけで本質的には同じデータ」のやり取りを、コピペひとつで完結させることを目的にしています。
サーバーや外部APIを一切経由せず、貼り付けたデータはブラウザ内のJavaScriptだけで処理されます。社内の機密データやAPIキーを含むレスポンスでも、外部に流出するリスクなく試せるのが利点です。エンジニア・データアナリスト・QAエンジニア・情シス担当者など、形式変換を頻繁に求められる方を主な利用者として想定しています。
5つのデータ形式 ― 特徴と使い分け早見表
| 形式 | 長所 | 短所 | 向いている用途 |
|---|---|---|---|
| JSON | 言語非依存・ネスト表現が自然・パーサが豊富 | コメント不可・末尾カンマ不可・冗長になりがち | Web API、SPA、ログ、NoSQL、設定ファイル全般 |
| CSV | Excel/BIツールとの親和性・行指向で軽量 | ネスト不可・型情報なし・エスケープ規則が方言だらけ | 表形式の集計データ、DBエクスポート、帳票連携 |
| TSV | 区切り文字がタブなので値中のカンマと衝突しない | セル内タブ・改行は依然として弱点 | Excel・Google Sheetsへの直接貼り付け、ログ整形 |
| YAML | 人間が読みやすい・コメント可・参照(anchor)で再利用可 | インデントに敏感・暗黙の型変換でハマる | Docker Compose、Kubernetes、GitHub Actions、Ansible |
| XML | 属性・名前空間・スキーマ検証など表現力が高い | 記述が冗長・パースが重い・属性vs要素で揺れる | SOAP/レガシーAPI、Office Open XML、Androidリソース |
基本的な使い方
- 左側のテキストエリアに変換したいデータを貼り付ける
- 左上のセレクトボックスで入力形式を選ぶ(自動判定はせず明示指定)
- 右上のセレクトボックスで出力形式を選ぶ
- 「変換」ボタンを押す。エラーがあれば赤帯で原因が表示される
- 「結果をコピー」で右側の出力をクリップボードへ取得
とりあえず動きを見たいときは「サンプルを入力」ボタンで例データを挿入できます。CSV → JSON、JSON → YAMLあたりは結果のイメージを掴みやすいので最初に試すのに向いています。
同じデータを5つの形式で書くと?
「ユーザー2名のリスト」を各形式で表現するとこうなります。同じ情報量でも見た目と相性がまったく違うことが分かります。
JSON
[
{ "id": 1, "name": "佐藤", "active": true },
{ "id": 2, "name": "鈴木", "active": false }
]
CSV
id,name,active
1,佐藤,true
2,鈴木,false
TSV
id name active
1 佐藤 true
2 鈴木 false
YAML
- id: 1
name: 佐藤
active: true
- id: 2
name: 鈴木
active: false
XML
<users>
<user>
<id>1</id>
<name>佐藤</name>
<active>true</active>
</user>
<user>
<id>2</id>
<name>鈴木</name>
<active>false</active>
</user>
</users>
変換時にハマりやすい落とし穴
JSON ⇄ CSV:ネストの平坦化問題
CSVは「行 × 列」という二次元の表でしか情報を持てません。一方JSONは配列の中に配列、オブジェクトの中にオブジェクトを無制限にネストできます。これをCSVに落とすときは「ネストを諦めて捨てる」「ドット記法で平坦化する(例: address.city)」「JSON文字列のままセルに入れる」の三択になります。本ツールは原則として一階層目までを平坦化します。三階層以上の深いJSONを扱うときは、いったんJSON側で必要な項目を map して整形してから貼り付けるのがおすすめです。
JSON ⇄ YAML:型情報の保持
YAMLには「YAML 1.1の暗黙型変換問題」と呼ばれる有名な罠があります。例えば country: NO と書くと、ノルウェーの国コードのつもりでも false(真偽値)として解釈されることがあります。 version: 1.20 も 1.2 に丸まりがちです。これを避けたい場合はYAML側で "NO" や '1.20' のように引用符で囲み、文字列として明示するのが安全です。本ツールはJSON→YAMLでは型を保ったまま出力します。
CSV:カンマ・改行・ダブルクォートのエスケープ
CSVの仕様(RFC 4180)では、値の中にカンマ・改行・ダブルクォートが含まれる場合は値全体を " で囲み、内側の " は "" に二重化する決まりです。Excelで作ったCSVと、自前スクリプトで作ったCSVで動きが違うときはだいたいここが原因です。「住所」「コメント」など自然文が入る列ほど壊れやすいので、変換結果がおかしいときはまずこのエスケープが効いているかを確認してください。
XML:属性 vs 子要素のマッピング
XMLは <user id="1"> のように属性で持つこともできれば、 <user><id>1</id></user> のように子要素で持つこともできます。JSONには「属性」という概念がないため、変換時に必ず方針を決める必要があります。本ツールでは属性を @ プレフィックス(例: {"@id": "1"})として保持する方式を採用しており、戻すときも同じ規約に従います。
TSV:Excel往復による文字化け
TSVをExcelで開く・保存し直すと、Shift_JISへの再エンコードで絵文字や一部の漢字が「?」化することがあります。Excelを経由する場合は「データ」タブの「テキストから」でUTF-8を明示してインポートするのが安全です。
実務でよくある活用シーン
- API調査:Postman等で取得したJSONレスポンスをCSVに直し、Excelで件数・ユニーク数を確認する
- データ移行:旧システムのCSVエクスポートを、新システムが要求するJSON形式に整える前段処理
- 設定ファイルの編集:JSONで書かれた既存設定をYAMLに直して可読性を上げ、コメントを足してチームに共有する
- レガシー連携:SOAPで返ってくるXMLをJSONに整形し、フロントエンドで扱いやすい構造に変換する
- QA・テストデータ作成:Excelで生成した大量のテストケース(CSV/TSV)を、APIテスト用にJSON配列へ変換する
- ドキュメント化:内部ツールの設定スキーマを、JSONとYAMLの両方で例示するために形式を揃える
処理はすべてブラウザ内で完結
変換ロジックはこのページに同梱されたJavaScriptで動いており、貼り付けたデータが外部のサーバーに送られることはありません。社外秘の構成情報、本番DBから抜いたサンプルデータ、APIキー入りのレスポンスなどでも、ローカルのテキストエディタ感覚で安心して使えます。オフライン環境(ページを一度開いた後にネットを切る)でも動作するので、閉域網の社内端末でも検証可能です。