Semicolon-delimited → SQL

Convert Semicolon-Delimited files to SQL

Drop a ;-delimited file (the European-style CSV) and get a ready-to-run CREATE TABLE + INSERT script for PostgreSQL, MySQL, SQL Server, or SQLite. SQLified detects the delimiter automatically — runs in your browser, nothing uploaded.

Drop or choose your file to start...
Choose a file...

Semicolon-delimiter aware

Auto-detects the ; separator used by European-style CSVs.

Any of four databases

Generate output for PostgreSQL, MySQL, SQL Server, or SQLite.

Smart type inference

Detects integers, decimals, dates, booleans, and text from your data.

Excel-export friendly

Handles the ;-separated files Excel produces in many locales.

Millions of rows

Batched INSERTs keep large exports importing cleanly.

Private by design

Processed in memory, in your browser, never stored.

How to convert a semicolon-delimited file to SQL

A semicolon-delimited file separates columns with ; instead of a comma — the format Excel produces in many European locales, where the comma is reserved as the decimal point. SQLified detects the semicolon automatically and converts the file into a clean CREATE TABLE + INSERT script for whichever database you choose.

  1. Drop your file onto the converter above — SQLified auto-detects the ; separator.
  2. Choose a database (PostgreSQL, MySQL, SQL Server, or SQLite) and review the inferred schema.
  3. Generate the SQL — a CREATE TABLE plus batched INSERT statements.
  4. Run it in your database client.

Why European CSVs use semicolons

In locales like Germany, France, and much of Europe, numbers are written as 1.299,90 — the comma is the decimal separator. Using a comma to also separate columns would be ambiguous, so spreadsheets switch to the semicolon. The result is a .csv file that's actually semicolon-delimited — which trips up tools expecting commas. SQLified just detects it and moves on.

What the generated SQL looks like

CREATE TABLE IF NOT EXISTS "orders" (
  "order_id" INTEGER NOT NULL,
  "customer" TEXT NOT NULL,
  "order_date" DATE NOT NULL,
  "total" NUMERIC(18,2) NOT NULL
);

INSERT INTO "orders" ("order_id", "customer", "order_date", "total") VALUES
('5001', 'Müller GmbH', '2026-01-04', '1299.90'),
('5002', 'Dupont SARL', '2026-02-11', '349.50');

Identifiers are double-quoted (PostgreSQL shown); pick MySQL, SQL Server, or SQLite for backticks, brackets, or SQLite affinity instead.

Large files import without errors

SQLified handles millions of rows and batches the INSERT output into 1,000-row statements, so even big exports import cleanly across every database — including SQL Server's hard 1,000-row-per-INSERT limit.

Frequently asked questions

Why is my CSV separated by semicolons?

In many European locales the comma is the decimal separator (e.g. 1.299,90), so spreadsheets use a semicolon as the field separator instead to avoid clashes. Excel exports these ;-separated files as .csv. SQLified detects the semicolon automatically.

Which databases can it target?

All four: PostgreSQL, MySQL, SQL Server, and SQLite. Choose the dialect in the converter and SQLified generates matching CREATE TABLE + INSERT statements with the right types and quoting.

Do I need to convert it to comma-separated first?

No. Drop the semicolon-delimited file as-is — SQLified detects the delimiter and parses the columns correctly without any find-and-replace.

Can it handle large files?

Yes — millions of rows, with INSERT output batched into 1,000-row statements so even large exports import cleanly, including into SQL Server's 1,000-row limit.

Is my file uploaded?

No. The conversion runs entirely in your browser and your file is never sent anywhere.