SQLite Playground

Practise SQL or open a .sqlite file in your browser. Nothing is uploaded.

About the SQLite Playground

Practise SQLite online or look inside a .sqlite or .db file without installing anything. The playground runs a simulator build of SQLite, inside your browser tab. It starts with a small shop database, and you can open your own database file or import CSV, JSON and .sql files.

It is meant for learning SQL, checking small database files and testing queries. It is not a hosted database, so applications cannot connect to it. Use Export to download the current database as a .sqlite file.

Questions

Can I open my own .sqlite or .db file?

Yes. Click Import or drop the file on the page. The whole database opens and its tables appear in the list. Export downloads it again with your changes.

Can I connect to it from Java, Python or another program?

No. The playground is not a hosted database: there is no server, port or connection string. Java, Python, Node.js, Go, JDBC or ORM code cannot connect to it. Queries run only from the editor on this page.

Is my data uploaded?

No. The database runs inside your browser tab. Your queries and imported files never leave your device.

Which SQLite features work?

Standard SQLite SQL, including JSON functions, window functions, upserts, RETURNING, triggers and views.

Is my data saved?

No. Reloading the page resets the database, so export it first if you want to keep it. The text in the editor is kept.

More playgrounds

🤖 Use this tool from an AI agent (WebMCP)

This page offers 2 tools that an AI agent running in the browser can call directly, without clicking through the page. A call runs in your tab like the buttons do, and nothing is uploaded.

How to turn it on and try it

  1. Use Chrome 149 or later on a computer. TinyPDF.in is enrolled in Chrome's WebMCP trial, so there is nothing to switch on.
  2. Keep this page open and open the console (F12, then Console).
  3. Paste this:
const tools = await document.modelContext.getTools();
const tool = tools.find(t => t.name === 'run_sqlite_sql');
await document.modelContext.executeTool(tool, JSON.stringify({
  "sql": "SELECT city, count(*) AS customers FROM customers GROUP BY city ORDER BY customers DESC LIMIT 3"
}));

In other browsers the page works as usual and offers no agent tools. Examples for every tool and what they return

Using a desktop agent such as Claude Code or Cursor? See how to connect it to this page.