diff --git a/sqlite-query-explainer.docs.md b/sqlite-query-explainer.docs.md
new file mode 100644
index 00000000..6d0e366f
--- /dev/null
+++ b/sqlite-query-explainer.docs.md
@@ -0,0 +1 @@
+Run SQL queries against a SQLite database in your browser and see exactly how SQLite executes them: the tool runs your query, then annotates every line of both `EXPLAIN QUERY PLAN` and the low-level `EXPLAIN` bytecode output with plain-English descriptions of what the query planner and virtual machine are doing. Load the built-in example database — 170,000+ rows with indexes, a view and 22 example queries illustrating patterns like covering indexes, nested-loop joins, temp b-tree sorts, automatic indexes and recursive CTEs — or open your own SQLite file, which is inspected via `sqlite_master` to show its schema first. Bytecode instructions are cross-linked, so jump targets are clickable and hovering a register or cursor highlights everywhere else it is used. Powered by Python's `sqlite3` module running in Pyodide, so no data leaves your machine.
diff --git a/sqlite-query-explainer.html b/sqlite-query-explainer.html
new file mode 100644
index 00000000..7c5fa512
--- /dev/null
+++ b/sqlite-query-explainer.html
@@ -0,0 +1,1613 @@
+
+
+
+
+
+SQLite Query Explainer
+
+
+
+
+
SQLite Query Explainer
+
+Run SQL against a SQLite database and see what the query planner is really doing:
+the tool executes your query, then runs EXPLAIN QUERY PLAN and
+EXPLAIN against it and annotates every line of their output with a
+plain-English description. Powered by Python's sqlite3 module running in
+your browser via Pyodide — nothing you load or type
+leaves your machine.
+
+
+
+
1. Choose a database
+
+
+ or
+
+
+
+
+
+
+ Database schema
+
+
+
+
+
+
2. Run a query
+
+
+
+
+
+
+
+
+ Ctrl/Cmd + Enter
+
+
+
+
+
+
+
Results
+
+
+
+
+
Query plan — EXPLAIN QUERY PLAN
+
+ The high-level strategy SQLite chose for this query. Indented items run
+ inside their parent; sibling loops form nested joins, with each
+ row from an outer loop driving a full pass of the loops below it.
+
+
+
+
+
Bytecode — EXPLAIN
+
+ SQLite compiles every statement into a program for its virtual machine
+ (the VDBE); this is that program, one instruction per row. The
+ | bars mark loop bodies. Instruction numbers are
+ links — click one to jump to it, and the ↖ from n
+ badge on an instruction shows which other instructions jump to it. Hover a
+ register like r[3] or a cursor to highlight everywhere else
+ it is used.
+