A desktop GUI tool that recursively scans a folder (or ZIP archive) for SQLite database files and searches every table and column for a user-supplied string.
- Recursively finds SQLite files by extension (
.db,.sqlite,.sqlite3,.db3) or magic header - Searches inside ZIP archives, including nested zips
- Case-sensitive or case-insensitive matching
- Results table showing database file, table, column, row ID, and matched value
- Double-click any result to see the full cell value in a popup
- Export all results to CSV
Python 3 with standard library only — no third-party packages needed.
python sqlite_search.py- Click Browse Folder... to pick a directory, or Browse ZIP... to pick a
.zipfile - Enter the string to search for
- Optionally tick Case sensitive
- Click Start Search (or press Enter in the search box)
- Results appear in the table as they are found
- Click Export CSV... to save all findings
The search worker runs in a background thread and posts results to a queue that the GUI polls every 100 ms, keeping the interface responsive during long scans.
For ZIP inputs, candidate SQLite files are extracted to a temporary directory, searched, and then cleaned up automatically when the scan finishes or is stopped.
Each database is opened read-only (?mode=ro) via the SQLite URI interface. Every row in every table is fetched and each cell value is checked for the search string. Values longer than 200 characters are truncated in the results table but exported in full to CSV.