ZeroTool Workbench
SQLite ビューアー
SQLite の .db / .sqlite ファイルをブラウザで開き、テーブル構造・インデックス・データを確認。SQL 実行と CSV エクスポートに対応。ファイルは端末から出ません。
使い方
.db・.sqlite・.sqlite3ファイルをドロップエリアに置くか、クリックして選択します。- 左の一覧からテーブルかビューを選びます。データの上に列名・型・主キー・インデックス・元の
CREATE文が表示されます。 - 前へ / 次へ で 100 行ずつページ送りします。
- エディタに任意の SQL を書き、SQL 実行か Ctrl/Cmd + Enter で実行します。
- CSV エクスポートでテーブル全体、または直前のクエリ結果全体を保存します。
ブラウザで SQLite を開くのが向いている場面
- エージェントやスクリプトが書き込んだ内容の確認。コーディングエージェントがマイグレーションやテストデータ投入を行ったら、信用する前にファイルを開いて行を目で確かめます。
- アプリのローカルデータの閲覧。ブラウザ、モバイルアプリ、Electron アプリ、多くの CLI は状態を SQLite に保存しています。ファイルを取り出せば、デスクトップクライアントを入れずに中身を読めます。
- データの受け渡し。クエリを実行して CSV にし、それを渡します。データベース本体は手元に残ります。
値の表示ルール
| 値 | 表示 | CSV |
|---|---|---|
| NULL | 淡色の NULL 表示。空文字列と区別できます | 空フィールド |
| BLOB | バイト数と先頭 16 バイトの 16 進表記 | 全内容を大文字 16 進で出力 |
| 長いテキスト | セル内で省略。ホバーで続きを表示 | 全文。RFC 4180 に従って引用符で囲む |
| 数値 | 右寄せ | 保存値のまま |
クエリ結果は画面の応答性を保つため先頭 1,000 行のみ描画します。CSV エクスポートには常に全行が含まれます。
仕組み
ページはまずファイル先頭の 100 バイトだけを読み、SQLite ヘッダーを確認します。SQLite エンジン(sql.js、圧縮後約 340 KB)はこの確認を通過してから取得するため、ページを開くだけでは追加の読み込みは発生せず、別形式のファイルでダウンロードが走ることもありません。その後ファイル全体をインメモリデータベースとして SQLite に渡します。テーブル構造は pragma_table_info と pragma_index_list から取得し、テーブル名・列名はすべて引用符で囲むため、空白や引用符、日本語を含む名前も扱えます。
対応範囲
このツールは 100 MB までの SQLite 3 ファイル 1 つを開いて読むものです。変更をファイルに書き戻すことはなく、-wal / -journal ファイルは読まず、暗号化 DB も開きません。SpatiaLite のジオメトリテーブル、FTS5 全文検索インデックス、R-Tree インデックスなど拡張依存の仮想テーブルは、行の代わりに SQLite のエラーを表示します。これらのケースは、手元の sqlite3 コマンドラインか DB Browser for SQLite を使ってください。
FAQ
データベースファイルはアップロードされますか?
いいえ。ファイルはブラウザの File API で読み込まれ、WebAssembly 版 SQLite(sql.js)がページ内で開きます。サーバーは一切関与せず、このページはアクセス解析や広告のスクリプトも読み込みません。データベースにはユーザー情報やトークン、本番データが入っていることが多く、AI チャットに貼ったり他人のサーバーに送ったりすべきものではない——それがこのツールの存在理由です。
UPDATE や DELETE を実行すると元のファイルは変わりますか?
変わりません。ブラウザは選択されたファイルへの書き込み権限を持っていません。SQL はメモリ上のコピーに対して実行されるため、INSERT・UPDATE・DELETE・CREATE は動作し、テーブル一覧も更新されますが、再読み込みや別ファイルを開いた時点で変更は消えます。編集後のコピーをダウンロードする機能はありません。ディスク上のファイルを変更するには sqlite3 コマンドラインか DB Browser for SQLite を使ってください。
どのくらいのサイズまで開けますか?
100 MB までです。開いている間、ファイル全体がメモリ上に 2 つ(ファイルバッファと SQLite エンジン内部)存在するため、それ以上はタブが不安定になります。大きなデータベースはローカルで sqlite3 app.db を実行してください。
「SQLite データベースではありません」と表示されるのはなぜ?
SQLite 3 のファイルは必ず 16 バイトのヘッダー SQLite format 3 で始まります。これがなければ別形式のファイルか、暗号化されたファイルです。SQLCipher や SQLite Encryption Extension はヘッダーごと暗号化するため、暗号化 DB はここでは開けません。sqlcipher で復号するか、SQLCipher に対応した DB Browser for SQLite で開いてください。
最近書き込んだ行が見えないのはなぜ?
データベースが WAL モードで、最新の書き込みが隣の app.db-wal ファイルに残っている可能性が高いです。このツールはメインファイルしか読みません。書き込み中のアプリを終了するか、sqlite3 app.db "PRAGMA wal_checkpoint(TRUNCATE);" を実行してから開き直してください。