SQLSheet

Query Excel files with SQL in your browser

Turn worksheets into SQLite tables, then filter, aggregate and join your data without an Excel add-in.

Open an Excel fileTry sample data

From file to results in three steps

  1. Open your data. Choose Quick Upload, or use Import Wizard to review table names, columns and data types.
  2. Write a SQL query. Find the exact table and column names in Database Structure. Select Run or press Ctrl+Enter (Cmd+Enter on Mac).
  3. Export your work. Download the result as CSV or save the whole database as a .sqlite file.

Join worksheets on a shared ID

Use Orders and Customers as two tables. An INNER JOIN returns orders with a matching customer.

SELECT o.order_id, c.customer_name, o.amount
FROM orders AS o
JOIN customers AS c ON o.customer_id = c.customer_id
ORDER BY o.order_id;

These queries use the example table names. For your own files, substitute the names shown in Database Structure; Quick Upload can add a suffix to a table name.

Read the complete guide with expected results →

Excel dates, headers and formulas

Use a tabular sheet with a header row and consistent columns. Formulas are read from their stored results; SQLSheet does not recalculate Excel formulas. Merged headings and mixed data types need review in the Import Wizard.

Inspect imported values before doing calculations, especially dates and numbers. Quote identifiers with double quotes when needed.

Save the result or the database

Use the result toolbar to download CSV. To keep all imported tables, choose Download SQLite Database. SQLSheet analyzes data with SQLite; it does not generate MySQL or PostgreSQL INSERT scripts.

Your files stay in your browser

File parsing and SQL processing happen on your device. SQLSheet does not upload your file contents to a server. The website downloads code and assets, and uses Google Analytics and Vercel Analytics for usage measurement. We do not send file contents, filenames or SQL text to analytics.

The active database and query drafts are saved locally in this browser and restored when you return to the app. Examples add sample tables alongside your own data and open their SQL in new query tabs. Existing tables stay intact. Keep a downloaded SQLite backup: clearing site data, private browsing or storage limits can remove or prevent local saves. Saved queries, import templates and display settings are also stored in your browser.

Frequently asked questions

Is SQLSheet free? Do I need an account?

SQLSheet is free to use, with no account or installation required.

Which SQL dialect does it use?

SQLite, powered by SQL.js. Use SQLite syntax rather than database-specific MySQL, SQL Server or DuckDB functions.

Which files can I open?

Quick Upload supports CSV, XLSX, XLS and SQLite database files (.sqlite, .sqlite3 and .db). The Import Wizard supports CSV and Excel, including XLSM and XLSB.

Can I save my results?

Download query results as CSV, or download the whole SQLite database from the left panel.

How large can my file be?

Practical limits depend on browser memory and your device. Large imports may be slow or exhaust memory. Try a smaller extract first; SQLSheet is not a replacement for a database server.