TOKYO SECRETS 0/7
LAB

ezcsv

ブラウザ内で動く CSV エディタ

ezcsv は、ブラウザだけで動く無料の CSV・TSV 編集ツールです。CSV のデータをサーバーに送信せず、編集・変換・エクスポートできます。

概要

最大5万行の表を、仮想スクロールで編集できます。セル編集、行・列の追加・削除・クリア、列のドラッグ並び替え、Undo/Redo、列を指定した検索・フィルタ、ソート、1行目をヘッダーとして扱う切り替えに対応しています。

文字コード(UTF-8・Shift_JIS)、区切り文字(カンマ・タブ)、改行コード(CRLF・LF)は読み込み時に自動判別し、出力時に変更できます。CSV・TSV・PDF の保存と、行データからの QR コード生成(最大1,000件、ZIP で一括保存)ができます。

読み込んだデータは、サーバーに送信せず、LocalStorage などにも保存しません。外部通信を使うのは、同意した場合のアクセス解析と、お問い合わせの送信だけです。制限として、PDF は500行・10,000セルまでで、Excel ブック(.xlsx)は読み込めないため CSV に書き出してから使います。

アーキテクチャ

構成
Next.js・React・TypeScript の Web アプリです。表は @tanstack/react-virtual による仮想スクロールで、画面内の行だけを描画します。
仕組み
読み込み時に、文字コード・改行コード・区切り文字・囲み文字を自動判別します。Shift_JIS の変換には iconv-lite を使い、PDF は html2pdf.js、QR コードは qrcode と JSZip で出力します。
プライバシー
CSV の処理はブラウザ内で完結します。保存するのはアクセス解析への同意状態だけで、フッターから変更できます。
制約
行数は最大5万行で、実際の操作感は端末の性能に依存します。PDF は500行・10,000セルまで、QR コードは検索結果が対象で、検索0件のときは出力しません。入力は .csv・.tsv・.txt です。
開発の方法
Biome(Lint・整形)、Vitest(テスト)、Husky と lint-staged(コミット前のチェック)を使っています。ロゴ・favicon・OGP 画像は、元の SVG から生成するスクリプトで再生成します。
種別
ブラウザ内で動く CSV エディタ
区分
LAB(個人制作・実験)
状態
公開中
担当
企画・設計・開発
技術
  • Next.js
  • React
  • TypeScript
  • Tailwind CSS
  • TanStack Virtual
  • iconv-lite
  • Vitest
  • Biome