1行1オブジェクトの標準規格
各行が独立した有効なJSONオブジェクトとして記述されたログファイルを正確に解析します。
ログ出力・NDJSONに特化
ストリーミングデータやログ形式のJSONLをCSVテーブル形式へ変換。
JSONを入力すると、入力と同時にリアルタイムで結果が表示されます。
サーバーへのアップロードは一切ありません。ブラウザの開発者ツール(Networkタブ)で通信がないことを確認できます。
ファイル形式が重要な理由
JSON Lines(NDJSON)はイベントログやデータベースダンプの業界標準です。ストリーミングパーサーにより、ディスク容量が許す限り大きなファイルを処理できます。
各行が独立した有効なJSONオブジェクトとして記述されたログファイルを正確に解析します。
UIスレッドとは別のバックグラウンドWorkerでメモリ効率よく処理するため、ブラウザの操作感を損ないません。
途中で切れた不正な行があっても、その行番号を記録してスキップし、残りの何百万行もの健全なデータを保護します。
ステップ・バイ・ステップ
表形式のデータをわずか数クリックで構造化されたJSONに変換します。
01
1行目をヘッダーとして読み込みます。Excelやスプレッドシートから書き出したCSVもそのまま使えます。
02
標準のJSON配列、ログ分析向けの1行1オブジェクト(NDJSON)、または特定IDをキーにしたオブジェクトから選択。
03
設定変更に合わせてリアルタイムでプレビュー。クリップボードに即座にコピーするか、.jsonファイルをダウンロード。
自動化スクリプト
単発のログ変換ならWebツールで十分ですが、デプロイごとの定期処理にはスクリプトが最適です。標準ライブラリの json.loads を1行ずつ呼び出すだけで、通常のJSONと同じ感覚で処理できます。
以下のスクリプトは、ファイル全体で見つかったすべてのキーを結合してヘッダー行を作成します。大容量ファイルでもメモリを圧迫しないよう、1行読み込んで1行書き出すストリーミング形式になっています。
import csv
import json
records = []
with open("events.jsonl", encoding="utf-8") as file:
for line in file:
if line.strip():
records.append(json.loads(line))
fields = sorted({key for record in records for key in record})
with open("events.csv", "w", newline="", encoding="utf-8") as file:
writer = csv.DictWriter(file, fieldnames=fields)
writer.writeheader()
writer.writerows(records)pandas を使用すれば pd.read_json("events.jsonl", lines=True) と frame.to_csv で手軽に変換できます。逆方向の変換には CSVからJSONを再構築するツール が利用でき、大容量データの扱いについては ギガバイト級データセットのストリーミングガイド で解説しています。
ツールについて
ブラウザ上で100%動作する無料のJSONL(NDJSON)to CSV変換ツールです。Web Workerを活用して端末内で処理するため、サーバーへのアップロードがなく、大容量ログファイルも途中で切れることなく安全に変換できます。
通常のJSONは全体を読み込まないとパースできませんが、JSON Linesは1行に独立した1つのJSONオブジェクトを配置するため、追記が容易でリアルタイムなログ収集やKafka等のイベントストリームに最適です。
手順は3ステップです。.jsonlファイルをドロップし、検出された列一覧(データ型と充足率)を確認して並べ替えや除外を行い、完成した.csvファイルをダウンロードします。
改行なしで連続する連結JSONや、複数行に整形されたJSONも正確に認識します。行の区切りだけでなくJSON構文の深さを追跡してパースするため、変則的なログも正しく処理されます。
ログデータでは行ごとにキーが異なるのが一般的です。本ツールは全レコードのキーの和集合を取ってヘッダーを作成し、該当キーがない行は空セルとして安全に処理します。
オブジェクト内のネストされたデータはパス形式(例: user.name)の列として展開されます。配列の展開戦略については ネストされたJSONのフラット化ガイド で詳しく解説しています。
pandasの read_json(lines=True) や標準ライブラリの csv.DictWriter を使えば、数行のコードで自動化できます。メモリ消費を抑えるストリーミング処理も簡単です。
Web Workerによる逐次処理により、ファイルサイズに関わらずメモリ使用量は一定に保たれます。テキスト貼り付けではなくファイルドロップを使用するのが高速化のコツです。詳細は ブラウザのメモリ制限対策ガイド をご覧ください。
外部通信が発生しないため、容量制限や料金プランはありません。「ネットワーク」タブで通信ゼロを確認できます。スプレッドシートへのエクスポートには Excel (.xlsx) への直接変換 や、標準の JSON to CSV 変換ツール もご利用いただけます。
FAQ
技術的な違いはありません。すべて「1行に1つの有効なJSONオブジェクトを記述する」同一の仕様を指す呼称です。
はい。不正な構文の行は行番号とともにスキップされ、残りの健全な行はすべて正常に変換されます。途中で全体の変換が中断することはありません。
はい。行単位で逐次処理(ストリーミング)するため、メモリ消費を抑えながら数ギガバイトのログデータも安全に変換できます。
いいえ、一切ありません。変換処理はすべてこのブラウザ内のWeb Workerでローカルに実行されるため、ファイルが外部へ送信されることはありません。ブラウザの開発者ツールの「ネットワーク」タブを開いて変換を実行すれば、リクエストが一切発生しないことをご確認いただけます。そのため、容量制限や1日の利用上限もありません。
制限はありません。データは分割(チャンク)して読み込まれ、ストリーミング形式で書き出されるため、ファイルサイズが大きくなってもメモリ消費は一定に保たれます。実質的な上限はお手元のマシンの性能次第で、メガバイト単位ではなくギガバイト単位の大容量データも扱えます。
完全に無料で、アカウント登録も試用期間も有料プランもありません。どなたでもすべての機能を無制限でご利用いただけます。
関連する変換ツール・開発者ツール