💾CSV to SQL INSERT Converter

Convert CSV to SQL INSERT statements

The generated SQL can run as it is. Always review statements built from data you do not control before executing them.

Turning CSV rows into SQL INSERT statements

When a list arrives as a spreadsheet export and needs to go into a database, writing the INSERT statements by hand is slow and invites typos. Enter a table name, paste the CSV, and the statements appear immediately, ready to copy into your client.

The converter uses a real quote-aware parser rather than splitting on commas. A field wrapped in double quotes is read as a single value, so commas and line breaks inside it do not shift the columns, and a doubled double quote is restored to one character. Single quotes inside values are escaped by doubling them, which is what keeps a name such as O'Brien from breaking the statement. Options control whether empty fields become NULL, whether numeric-looking values are written without quotes, and whether the first line is a header. Table and column names are checked against a plain identifier pattern so an unusable name is reported before any SQL is produced.

Remember that the output is executable code. Escaping keeps the syntax valid; it does not judge the content. Review statements built from data you did not create before running them. Note also that MySQL treats a backslash as an escape character under its default settings, so values containing backslashes deserve a second look. Everything runs inside your browser and no data is uploaded.

Frequently asked questions

What happens to single quotes inside values?

They are escaped by doubling, so O'Brien becomes 'O''Brien' and the statement stays valid. The result panel reports how many values were escaped.

Are commas inside quoted fields handled?

Yes. A field wrapped in double quotes is read as one value, and commas or line breaks inside it stay part of that value. A literal double quote is written twice inside the field.

Do empty fields become NULL or an empty string?

You choose. By default an unquoted empty field becomes NULL while a quoted empty field stays an empty string, and both counts are shown under the result.