No-code forms

Auto-generated CRUD

Define a table in SQL; Supasheet introspects its columns, types, constraints, and JSON metadata to generate a complete create/read/update/delete UI - including sectioned forms, validation, and foreign-key selectors.

crm.deals - new record
generated from schema
Dealsection
text
Acme Corp renewal
numeric
$48,000.00
enum
Negotiation
enum
High
Timelinesection
date
2026-06-04
uuid → users
LPLena Park
CancelCreate deal
What it does

The capabilities you get out of the box.

Capability01

Schema introspection

Postgres types map to the right input components automatically.

Capability02

Sectioned layouts

JSON in a column comment becomes a multi-section form with icons.

Capability03

Zod-validated

Client-side validation mirrors database constraints before the round-trip.

How it works

Three steps from SQL to UI.

  1. 01
    Define your tableA regular `CREATE TABLE` statement - nothing Supasheet-specific required.
  2. 02
    Annotate with JSONOptional `COMMENT ON TABLE` JSON drives sections, icons, and field ordering.
  3. 03
    Ship the formSupasheet generates the form, list, and detail views on the next reload.
example/auto-crud.sql
sql
CREATE TABLE crm.deals (
  id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
  name text NOT NULL,
  amount numeric(12,2),
  stage crm.deal_stage NOT NULL DEFAULT 'lead',
  close_date date,
  owner_id uuid REFERENCES auth.users (id)
);

COMMENT ON TABLE crm.deals IS '{
  "sections": [
    { "title": "Deal", "icon": "Briefcase", "items": ["name", "amount", "stage"] },
    { "title": "Timeline", "icon": "Calendar", "items": ["close_date", "owner_id"] }
  ]
}';
Get started

Try it on your own Supabase project.

Connect a project, install the Supasheet schema, and your tables are live in minutes.

No credit cardSelf-host or managedMIT licensed