Null

SQL client for macOS

Write, debug, and improve SQL faster. Connect to MySQL, PostgreSQL, local SQLite files, or Cloudflare D1, explore results, manage data workflows, and use AI assistance to explain errors, suggest fixes, and get from idea to query faster.

Private beta · Join the waitlist

Product

Workspace

MySQL, PostgreSQL, SQLite, and Cloudflare D1 connections in one workflow.

Shop API
shop
Objects
Search tables…
users
orders
sessions
products
order_items
categories
inventory
payments
shipments
coupons
audit_log
notifications
Query
users
SELECT
    u.country,
    COUNT(*) AS n,
    SUM(o.total) AS total_volume
FROM users u
JOIN orders o ON o.user_id = u.id
WHERE u.created_at > NOW() - INTERVAL 7 DAY
GROUP BY u.country;
⌘ ↵ to run
Ln 7, Col 28
Results shop.users
# country n total_volume
1 US 1245 45230.00
2 UK 892 28115.50
3 DE 634 19402.10
4 FR 412 15208.25
5 CA 298 9876.40
6 AU 267 11234.00
7 JP 521 20450.75
8 BR 389 8750.20
9 IN 756 18900.00
10 NL 198 7650.30
11 SE 156 5432.10
12 ES 334 12340.55

Features

From first connection to last migration

Connect, write, find, edit, review and move data, built for keyboards and careful hands.

01 Connections

Every database, one home

MySQL, PostgreSQL, SQLite files and Cloudflare D1 sit side by side as access passes. Tag each one local, staging or production, and the color follows you everywhere.

  • SSH tunnels, TLS with client certificates and Unix sockets
  • Passwords and API tokens live in the macOS Keychain
  • Switch between cards and a dense table view
02 Query editor

An editor that knows your schema

Column, table and routine completion scoped to the tables in your query. Put the cursor in a statement and run just that one, or run a whole script and get a result tab per statement.

  • ⌘↵ runs the statement under the cursor, highlighted as you move
  • Completion for columns, tables, views, routines and keywords
  • Pick an editor color theme that matches the way you work
03 AI assistant

Ask your database, in plain words

Chat with an assistant that sees your schema. Mention tables with @, attach rows you selected in the grid, and turn answers into charts. When a query fails, Fix with AI explains why and suggests a correction.

  • /explain reviews a query for risks and improvements
  • /chart draws the answer in a canvas tab
  • Suggested queries wait for your approval, and safe mode still applies
04 Tabs & windows

As many queries as your screens can hold

Keep queries, tables and .sql files open side by side in tabs. Drag a query editor out into its own window for a second display. Results still land in the main window.

  • Drag to reorder tabs, or pull one out into a new window
  • Unsaved queries are kept as drafts, even after quitting
  • Open and save .sql files with ⌘O and ⌘S
05 Command palette

Open anything with ⌘K

Every table, view, routine and saved query in the current database, one keystroke away. Type a few letters, press enter, keep your hands on the keyboard.

  • ⌘K from anywhere in the explorer
  • Tables, views, routines and favorites in one list
  • Arrow keys to move, ↵ to open
06 Favorites & history

Never write the same query twice

Save queries you reach for into named groups with tags. Everything you run is kept in history, grouped by day, per connection and database. Open any of them in a new tab.

  • Right-click in the editor to save a selection as a favorite
  • Search favorites by name, tag or SQL, and drag them between groups
  • History and favorites are stored locally, never in the cloud
07 Inline editing

Edit data where you read it

Double-click a cell and type. Add rows, delete rows, fix a typo in production. Nothing is written until you save, and every change is visible until then.

  • Edit, add and remove rows without leaving the grid
  • Undo any change with ⌘Z, save everything with ⌘S
  • Works on table tabs and on editable query results
08 Advanced filters

Filter with the SQL you already know

A WHERE and ORDER BY bar sits right above every table. Write any condition your database understands, with column autocomplete, and press enter.

  • Just SQL. No filter builder.
  • Column names complete as you type
  • Jump in with ⌘⇧W, find values in results with ⌘F
09 Review first

See the exact SQL before it runs

Pending grid edits turn into plain INSERT, UPDATE and DELETE statements you can read before saving. Check them, copy them into a migration, then save.

  • Spot a wrong row before anything is written
  • Discard everything in one click if something looks wrong
  • Copy the statements for a ticket or a migration
10 Table designer

Shape tables without writing ALTER

Create a table or change an existing one from a single screen. Columns, types, defaults, indexes and foreign keys sit together, and Null works out the schema change for your database.

  • Mark primary keys, nullability and defaults per column
  • Add indexes and foreign keys with ON DELETE and ON UPDATE rules
  • Works on MySQL, PostgreSQL and SQLite
11 Safe mode

Production stays locked

Give each connection its own safe mode. Leave local databases open, ask before changes on staging, and require your password or Touch ID on production.

  • Green, yellow or red lock always visible in the titlebar
  • Only statements that change data or schema are gated. Reads never ask
  • Lowering the lock on production needs your password too
12 Import & export

Move whole databases, not just rows

Back up a database or a single schema, restore it somewhere else, import CSV with column mapping, and export any table or result to CSV, JSON or SQL.

  • Back up everything, just the schema, or just the data
  • Live progress. Stop anytime.
  • Pick exactly which tables go into a backup
Also in Null

The small things, done right

Follow foreign keys

Click a foreign key value to jump straight to the row it references.

Row preview

Read one wide row top to bottom in a side panel, no horizontal scrolling.

Copy rows as anything

Right-click rows to copy them as INSERT statements, JSON, CSV, Markdown or plain text.

Find in results

Search loaded rows with ⌘F and jump between matches with ⌘G.

PostgreSQL, properly

Browse databases and schemas as a tree, and back up or restore a single schema.

Make it yours

Set fonts, sizes and row density for the editor, grid and sidebar, plus zebra stripes and light or dark mode.

Built for macOS

File menu with Open Recent, and .sql files open straight from Finder, with or without a connection.

Always up to date

Null lets you know when a signed update is ready and installs it in one click.

FAQ