Data & CSV

CSV to SQL INSERT statements

Build quoted INSERT statements while retaining text identifiers and values.

CSV to SQL INSERT statements
Esc to restore

Your inputs

Up to 25 MB per file, 50,000 data rows, 200 columns and 2 million data cells. Fully blank rows and columns are ignored before row, column and cell limits are checked. Individual tools may have smaller result or chart limits.

Results update as you type. Larger files run when you press Update result.

Your result

LOCAL & PRIVATE

Your result will appear here.

Your inputs stay in this browser. Nothing is uploaded or saved.

A clear answer. Here’s how.

Generates SQLite/PostgreSQL-style INSERT statements with double-quoted identifiers and single-quoted string literals, doubling embedded quotes. Table names are treated as one identifier, not schema-qualified syntax. All non-NULL values remain strings; no type inference or execution occurs. Rejects NUL characters, caps input at 10,000 rows and output at 2 MB. Review before importing into an existing database.

See a worked example

Worked example

A fixed demonstration, separate from the values you enter above.

Your CSV
ID,Name,Team,Amount,Date
001,Ada,Design,120,2026-01-05
002,Sam,Writing,80,2026-01-06
003,Jo,Design,150,2026-01-07
Column separator
Comma
Table name
import_records
Empty cells
Empty string

Example result

INSERT INTO "import_records" ("ID", "Name", "Team", "Amount", "Date") VALUES ('001', 'Ada', 'Design', '120', '2026-01-05');
INSERT INTO "import_records" ("ID", "Name", "Team", "Amount", "Date") VALUES ('002', 'Sam', 'Writing', '80', '2026-01-06');
INSERT INTO "import_records" ("ID", "Name", "Team", "Amount", "Date") VALUES ('003', 'Jo', 'Design', '150', '2026-01-07');

Quoted identifiers and string literals target SQLite/PostgreSQL syntax. Every non-NULL value stays text; review and run within your own database transaction.