Table
Dialect
MySQL
Delimiter
detected: ,
Batch
Click or drop a .csv file
id,name,email,age,signup_at,is_active,note 1,Alice,alice@example.com,30,2024-01-15 10:30:00,true,"Hello, world" 2,Bob,bob@example.com,25,2024-02-20 09:00:00,false,"with ""quote"" inside" 3,小明,xiaoming@test.com,,2024-03-01 14:00:00,1,中文测试 4,Eve,eve@example.com,28,2024-04-01 12:00:00,0,
CREATE TABLE `imported_data` (
  `id` TINYINT NOT NULL,
  `name` VARCHAR(16) NOT NULL,
  `email` VARCHAR(32) NOT NULL,
  `age` TINYINT NULL,
  `signup_at` DATETIME NOT NULL,
  `is_active` BOOLEAN NOT NULL,
  `note` VARCHAR(32) NULL
);

INSERT INTO `imported_data` (`id`, `name`, `email`, `age`, `signup_at`, `is_active`, `note`) VALUES
  (1, 'Alice', 'alice@example.com', 30, '2024-01-15 10:30:00', 1, 'Hello, world'),
  (2, 'Bob', 'bob@example.com', 25, '2024-02-20 09:00:00', 0, 'with "quote" inside'),
  (3, '小明', 'xiaoming@test.com', NULL, '2024-03-01 14:00:00', 1, '中文测试'),
  (4, 'Eve', 'eve@example.com', 28, '2024-04-01 12:00:00', 0, NULL);

Column type inference

id
TINYINT
1 · 2 · 3
name
VARCHAR(16)
Alice · Bob · 小明
email
VARCHAR(32)email
alice@example.com · bob@example.com · xiaoming@test.com
age
TINYINTnullable
30 · 25 · 28
signup_at
DATETIME
2024-01-15 10:30:00 · 2024-02-20 09:00:00 · 2024-03-01 14:00:00
is_active
BOOLEAN
true · false · 1
note
VARCHAR(32)nullable
Hello, world · with "quote" inside · 中文测试

Data preview 4 rows

#idnameemailagesignup_atis_activenote
11Alicealice@example.com302024-01-15 10:30:00trueHello, world
22Bobbob@example.com252024-02-20 09:00:00falsewith "quote" inside
33小明xiaoming@test.comNULL2024-03-01 14:00:001中文测试
44Eveeve@example.com282024-04-01 12:00:000NULL
User Guide
✨ Features
• RFC 4180 compliant CSV parser — handles quoted fields, embedded newlines, '' escaping • Auto-detects delimiter: comma / Tab / semicolon / pipe (manual override available) • Smart column type inference: TINYINT / SMALLINT / INT / BIGINT / DECIMAL / DATE / DATETIME / BOOLEAN / VARCHAR(N) / TEXT / EMAIL / UUID • Optional CREATE TABLE generation with NULL / NOT NULL annotations • Four dialects: MySQL / PostgreSQL / SQLite / SQL Server, each with the right identifier-quoting style • Batch splitting: max N rows per INSERT (default 500), avoids over-large statements • Live data preview (first 10 rows) + type chips + line-numbered error messages • Drag-and-drop upload / paste / download .sql file • All processing local in your browser — CSV never leaves your device
📖 How to Use
Step 1
Paste CSV text or drop a .csv file into the upload area
Step 2
Configure: table name, dialect, delimiter (auto-detect), include CREATE TABLE
Step 3
The right pane shows generated SQL live; below shows inferred column types and a data preview
Step 4
Click 'Download SQL' to save, or 'Copy' to paste into your client
Like it? Rate it!

Feedback List