A professional, privacy-focused SQLite database viewer that runs entirely in your browser. View, search, and export SQLite database tables without uploading your data to any server.
xsukax SQLite Database Viewer is a client-side web application designed for developers, data analysts, and database administrators who need to quickly inspect SQLite database files without installing desktop software or compromising data privacy. Built with modern web technologies and WebAssembly, it provides a seamless, secure environment for database exploration.
- Client-Side Database Processing: Utilizes sql.js (SQLite compiled to WebAssembly) for complete browser-based operation
- Interactive Table Browsing: Navigate through database tables with intuitive pagination and search capabilities
- Professional Data Export: Generate CSV files with configurable options for different export scenarios
- Memory-Efficient Architecture: Handles large databases through intelligent pagination and resource management
- Cross-Platform Compatibility: Works on any modern web browser across desktop and mobile devices
- Zero Server Communication: All database processing occurs locally in your browser - no data ever leaves your device
- No Cloud Dependencies: Unlike online database tools, your sensitive data never touches external servers
- Local File Processing: Database files are read directly from your device's file system without uploading
- Client-Side Only Architecture: Eliminates server-side vulnerabilities and data breach risks
- No Data Persistence: Application doesn't store or cache your database content
- Memory Management: Implements proper cleanup routines to prevent data leakage in browser memory
- Multi-CDN Fallback: Uses reputable CDN sources with integrity checking for external dependencies
- Open Source: Full source code available for security auditing and verification
- No Tracking: Zero analytics, cookies, or user tracking mechanisms
- Offline Capable: Can be downloaded and run completely offline for maximum security
- Transparent Dependencies: Minimal external dependencies limited to the sql.js WebAssembly library
- Lazy Loading: Only loads visible data, enabling smooth performance with large datasets
- Efficient Pagination: Configurable page sizes (50-500 rows) for optimal memory usage
- Debounced Search: Intelligent search implementation prevents excessive database queries
- Optimized Rendering: Minimal DOM manipulation for fast table rendering
- Apple-Inspired Design: Clean, modern interface with glassmorphism effects and smooth animations
- Mobile-First Responsive: Fully optimized for tablets and smartphones
- Drag & Drop Support: Intuitive file upload with visual feedback
- Real-Time Search: Instant filtering across all table columns
- Professional Data Display: Proper handling of NULL values, BLOBs, and various data types
- Flexible CSV Export: Choose from current page, filtered results, or complete table export
- Excel Compatibility: UTF-8 BOM encoding ensures proper display in Microsoft Excel
- BLOB Handling: Intelligent conversion of binary data for export purposes
- Header Options: Configurable column headers in exported files
- Database Integrity Checking: Automatic validation of SQLite file integrity
- Error Handling: Comprehensive error reporting with helpful user messages
- Performance Monitoring: Built-in render time tracking for optimization insights
- Multi-Format Support: Compatible with .db, .sqlite, .sqlite3, and other SQLite variants
- Download the
index.html
file from this repository - Save it to your preferred location on your computer
- Double-click the file to open it in your default web browser
- Begin using immediately - no additional setup required
git clone https://github.com/xsukax/xsukax-SQLite-Database-Viewer.git
cd xsukax-SQLite-Database-Viewer
# Open index.html in your browser
For organizations wanting to deploy on internal networks:
# Using Python's built-in server
python -m http.server 8000
# Using Node.js http-server
npx http-server
# Using any web server of choice
- Browser: Modern web browser with WebAssembly support
- Chrome 57+
- Firefox 52+
- Safari 11+
- Edge 16+
- Storage: Minimal disk space (single HTML file ~50KB)
- Memory: Depends on database size; 4GB RAM recommended for large databases
flowchart TD
A[Open Application] --> B[Engine Initialization]
B --> C{Upload SQLite File}
C -->|Drag & Drop| D[File Processing]
C -->|File Picker| D
D --> E[Database Validation]
E -->|Success| F[Display Table List]
E -->|Error| G[Show Error Message]
F --> H[Select Table]
H --> I[Load Table Data]
I --> J[Display Paginated Results]
J --> K{User Actions}
K -->|Search| L[Filter Results]
K -->|Navigate| M[Change Page]
K -->|Export| N[Generate CSV]
K -->|New Table| H
L --> J
M --> J
N --> O[Download File]
- Launch Application: Open the HTML file in your web browser
- Wait for Initialization: The status badge will show "Engine ready" when WebAssembly loads
- Upload Database:
- Drag & Drop: Drag your .sqlite file onto the upload area
- File Picker: Click the upload area and select your database file
- Verification: Application will validate file integrity and display database information
- Select Table: Choose a table from the dropdown menu
- View Data: Table contents will display with automatic pagination
- Navigate: Use pagination controls to browse through large datasets
- Search: Enter terms in the search box to filter across all columns
sequenceDiagram
participant User
participant App
participant Browser
User->>App: Click Export CSV
App->>User: Show Export Modal
User->>App: Select Export Options
Note over User,App: Current Page / Filtered / Full Table
User->>App: Confirm Export
App->>App: Generate CSV Data
App->>Browser: Create Download Blob
Browser->>User: Download CSV File
Search Functionality
- Searches across all visible columns simultaneously
- Supports partial matches and case-insensitive filtering
- Results update automatically with debounced input
Memory Management
- Application automatically manages memory for large databases
- Pagination prevents browser memory overflow
- Proper cleanup when switching between tables
Mobile Usage
- Touch-friendly interface optimized for tablets and phones
- Responsive table display with horizontal scrolling
- Optimized controls for touch interaction
Issue | Solution |
---|---|
Engine won't initialize | Check internet connection; application needs to download WebAssembly |
File won't load | Verify file is valid SQLite format; check file permissions |
Tables appear empty | Database may need WAL checkpoint; try exporting from source application |
Export fails | Check browser's download permissions and available disk space |
Slow performance | Reduce page size for large tables; close other browser tabs |
Browser | Version | Status | Notes |
---|---|---|---|
Chrome | 57+ | β Full Support | Recommended browser |
Firefox | 52+ | β Full Support | Excellent performance |
Safari | 11+ | β Full Support | iOS Safari supported |
Edge | 16+ | β Full Support | Chromium-based preferred |
Internet Explorer | Any | β Not Supported | WebAssembly required |
We welcome contributions from the community! Please read our contributing guidelines:
- Fork the Repository: Create your own fork of the project
- Create Feature Branch:
git checkout -b feature/amazing-feature
- Commit Changes:
git commit -m 'Add amazing feature'
- Push to Branch:
git push origin feature/amazing-feature
- Open Pull Request: Submit a pull request with detailed description
- Maintain single-file architecture for simplicity
- Follow existing code style and formatting
- Test across multiple browsers before submitting
- Update documentation for new features
- Ensure accessibility compliance
This project is licensed under the GNU General Public License v3.0 (GPL-3.0).
- β Commercial Use: You can use this software for commercial purposes
- β Modification: You can modify the source code
- β Distribution: You can distribute the software
- β Patent Use: You can use any patents contributed to this project
- β Private Use: You can use this software privately
- π License and Copyright Notice: Include original license and copyright
- π State Changes: Document any changes made to the source code
- π Disclose Source: Make source code available when distributing
- π Same License: Distribute under the same GPL-3.0 license
The complete license text is available in the LICENSE file in this repository, or at https://www.gnu.org/licenses/gpl-3.0.html.
Made with β€οΈ for the open-source community