Your SQL spreadsheet app

You can write SQL to query and visualize gigabytes of CSV files on your local machine. Superintendent.app is a desktop application that works offline an protects your data privacy.
Used by thousands of data scientists, engineers, business analysts, consultants, and healthcare professionals!

Do what you want in seconds

1 1-click installation
It takes seconds to download and install with a single click.
2 Add CSV files
Add or drag-and-drop CSV files. It adds gigabytes of data within seconds.
3 Write SQLs
Filter, transform, and sort CSVs. Build beautiful reports and charts.

Why use Superintendent.app?

Comparison
Superintendent.app
Excellent for working with CSVs
Easy installation Easy to use Supports large files
Installed with a single click, the UI-based app is purposefully built for your productivity. You can build your reports within seconds. In addition, it supports large CSV files e.g. importing 1GB file in 10 seconds.
Spreadsheet apps
Microsoft Excel and Google Sheets
Easy installation Easy to use Supports large files
Spreadsheets like Excel and Google Sheets are clunky with SQL and don't support CSVs larger than 1 million rows.
Database tools
DBeaver and MySQL Workbench
Easy installation Easy to use Supports large files
This alternative requires a database setup and often offers a myriad of unnecessary functionalities (e.g. configuring database) that get in the way for users who work with CSVs.
Command-line tools
csvkit and q
Easy installation Easy to use Supports large files
This alternative often requires Python setup. Managing multiple CSVs and SQLs in a terminal is clunky. While the tools don't impose a file size restriction, they are not performant when handling large files.
Databases
SQLite and DuckDB
Easy installation Easy to use Supports large files
Managing multiple CSVs and SQLs directly in a database's terminal is extremely clunky, even more clunky than using a command-line tool.

Features

Built for your productivity. Excellent at handling large amount of data.
Manage many SQLs

Make a draft, rename, delete, move tabs around, and re-run.

Save your workspace

Load it back later, send it to your colleague. Never lose your work.

Export CSVs

Once you finish, you can export your results to CSVs.

Build charts

Visualie your results in line charts, bar charts, stacked bar charts, and pie charts.

Copy columns

Click on columns and press Ctrl+C to copy. Copy millions of cells or as much as your memory allows.

Run a part of SQL

Highlight a part of SQL and see its result when you aren't sure what the SQL entails.

Sort columns

Click on multiple columns to sort ASC or DESC. Only one click away for your convenience.

Auto-detect CSVs

Just import CSV. The names and types are automatically handled for you.

What other people said

I use superintendent.app (made by @tanin) basically let's you run SQL on raw CSVs

Thai dev @tanin just launched an app on Product hunt producthunt.com/posts/superintendent-app Super useful for people that have to deal with CSVs

This cool tool allows you to use SQL to search and manipulate your CSV files. superintendent.app

WOW, I used to work somewhere where someone wrote a similar app but it was more java syntax. This is incredible.

I don't work with data analysis anymore, but jfc the potential for this thing is awesome. Well done, mate!

Write SQL on a CSV file. Never would have thought CSVs would be so versitle. producthunt.com/posts/superintendent-app

Get started

Query CSVs and write SQLs today. No credit card required.

Interesting articles

How to split a CSV file into multiple files?

Or how to handle a large CSV in Microsoft Excel or Google Sheets?

Read more →
Build the Stripe's Account Receivable Aging report

This guide shows how to build the AR aging report based on Stripe reports using SQL.

Read more →
Analyze log files using SQL

Using Superintendent.app to analyze logs locally is faster and cheaper.

Read more →
Add date parsing and formatting to SQLite using Rust

This guide shows how to extends SQLite to support richer date parsing and formatting.

Read more →