Online compiler, debugger and visualizer
Online SQL editor
Write SQL and run it on a real SQLite database that belongs to your project, laid out like a database tool: the tables and their columns on the left, your queries in the middle, the rows of each query in a grid below. The database keeps its tables and rows between runs, and an error names the line of the statement that caused it.
- Free
- No sign-up
- Real compilers
- Works on phones
CREATE TABLE students ( id INTEGER PRIMARY KEY, name TEXT NOT NULL, marks INTEGER); INSERT INTO students (name, marks) VALUES ('Asha', 91), ('Ravi', 78), ('Meera', 85); SELECT name, marksFROM studentsWHERE marks > 80ORDER BY marks DESC;What you can do
A real database
Queries run on SQLite 3, not a simulation: joins, GROUP BY, subqueries, views, indexes, foreign keys and transactions all work.
A grid for every query
Each query's rows open in a tab of their own, with column names, row numbers and a row count; copy them or save them as CSV. The Output tab lists what every statement did (3 rows inserted, 1 row updated) and how long it took.
The database stays
Tables and rows are kept from one run to the next, so one file can create the tables and another can query them. The panel on the left shows every table with its columns, keys and row count; emptying the database is one press.
Run one statement
Select a statement and press Run to run just that one, as in MySQL Workbench or DBeaver. With nothing selected, the whole file runs.
MySQL-style SQL accepted
AUTO_INCREMENT, ENGINE=..., ENUM, CREATE DATABASE and USE, SHOW TABLES, DESCRIBE, and functions like NOW(), CONCAT(), IF() and YEAR() work as they are written for MySQL.
Errors on their line
A mistake stops the run and names the line where its statement starts; click it to go there.
Several files
Keep the schema in one file and the queries in another; Run runs the file that is open, on the same database.
Share and work together
Send a link to your queries, or edit them live with someone else.
How it works
- 1
Open the SQL editor: a sample table and query are ready.
- 2
Write your CREATE TABLE, INSERT and SELECT statements.
- 3
Press Run: each query's rows open in a grid, and the tables you made appear in the database panel.
Questions and answers
Which database is it?
SQLite 3. Standard SQL works, and the usual MySQL forms are accepted too: AUTO_INCREMENT, SHOW TABLES, DESCRIBE, CREATE DATABASE and USE, and functions such as NOW() and CONCAT().
Is my data kept between runs?
Yes. The project has one database, saved in your browser with the project, and every run works on it. To start again from nothing, empty it from the database panel, or begin your script with DROP TABLE IF EXISTS.
Why does it say the table already exists?
The table was made by an earlier run and is still in the database. Put DROP TABLE IF EXISTS before CREATE TABLE, or empty the database.
Is it free?
Yes. Running, debugging, tests and live sessions are free, with no sign-up.
Where are my projects saved?
In your browser, on your device, automatically as you type. Nothing is lost when you close the tab. They stay until you delete them.
Is my code safe to run?
Every program runs in its own isolated sandbox with no internet access and strict limits on time, memory and processes, and is deleted when it finishes.