// Online SQLite Tool
Run SQLite queries in your browser — CREATE, INSERT, SELECT, JOIN. Powered by WebAssembly. No install, no account. Schema viewer and example queries included.
Best free SQLite tools in 2025
DB Browser for SQLite (SQLiteBrowser) — the most popular free GUI. Open, create, edit, and query SQLite .db files. Available for Windows, macOS, Linux. SQLiteStudio — feature-rich GUI with import/export, triggers, and views. SQLite Viewer (sqliteviewer.app) — drag-and-drop .db file viewer in the browser, no install. sqlite3 CLI — the official command-line tool bundled with SQLite, available on all platforms. VS Code SQLite Viewer extension — view .db files directly in VS Code. This playground — run queries directly in the browser without any file, ideal for testing SQL syntax and learning.
SQLite vs MySQL vs PostgreSQL — when to use each
Use SQLite for: mobile apps (Android, iOS), desktop apps, embedded systems, development/testing, small web apps under low concurrent write load, config storage, and any scenario where zero setup matters. SQLite uses a single .db file — no server, no configuration. Use MySQL/PostgreSQL for: multi-user web applications with concurrent writes, large datasets, complex replication requirements, and production services requiring fine-grained access control. SQLite is not suitable for high write-concurrency production web servers.
SQLite PRAGMA — useful diagnostic commands
PRAGMA table_info(tablename) — list columns, types, and constraints. PRAGMA index_list(tablename) — list indexes on a table. PRAGMA foreign_key_list(tablename) — show foreign key relationships. PRAGMA database_list — show attached databases. PRAGMA integrity_check — verify database integrity. EXPLAIN QUERY PLAN SELECT ... — show how SQLite will execute a query (index usage, full scans).
sqlite3 mydata.db then type SQL queries. (3) Browser: go to sqliteviewer.app and drag your .db file — view tables and data without install. This playground is for creating a new in-memory database — it doesn't accept file uploads.import initSqlJs from 'sql.js', then const SQL = await initSqlJs(), const db = new SQL.Database(), db.run("CREATE TABLE..."), and db.exec("SELECT ..."). The database lives in browser memory — data is not persisted between page reloads unless you export with db.export() and save to localStorage or IndexedDB.