TSV → SQL Server

Convert TSV to SQL Server SQL

Drop a tab-separated file and get a ready-to-run CREATE TABLE + INSERT script for SQL Server — auto-detected delimiter, batched under the 1,000-row limit. Runs in your browser, nothing uploaded.

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

Tab-delimiter aware

Auto-detects tab-separated columns — no reformatting first.

Respects the 1,000-row limit

INSERTs are auto-batched at 1,000 rows so they don't error on import.

T-SQL types

Detects INT, BIGINT, DECIMAL, DATETIME2, BIT, and NVARCHAR from your data.

Millions of rows

Batched output imports cleanly into SQL Server and Azure SQL.

Schema control

Override inferred types, rename columns, and set a primary key.

Private by design

Processed in memory, in your browser, never stored.

How to convert a TSV file to SQL Server

Tab-delimited exports are everywhere — from spreadsheets, log pipelines, and database dumps. Getting one into SQL Server normally means BULK INSERT or the Import Wizard, both of which need file access. SQLified gives you the portable route: drop the TSV and get a CREATE TABLE + INSERT script in T-SQL, ready to paste into SSMS or Azure Data Studio.

  1. Drop your TSV onto the converter above (.tsv, .tab, or tab-delimited .txt).
  2. Review the schema. Adjust inferred types, nullability, rename columns, or set a primary key.
  3. Generate the SQL — a CREATE TABLE plus INSERT statements batched at 1,000 rows.
  4. Run it in SSMS or Azure Data Studio.

The 1,000-row limit — where bulk imports get stuck

SQL Server allows at most 1,000 row-tuples in a single INSERT ... VALUES. Go over and you get “The number of row values in the INSERT statement exceeds the maximum allowed number of 1000.” This is the wall most people hit when bulk-loading a big tab-delimited file from a SQL console. SQLified emits a fresh INSERT every 1,000 rows automatically, so the whole file runs start to finish — no manual splitting.

What the generated SQL looks like

CREATE TABLE [events] (
  [event] NVARCHAR(255) NOT NULL,
  [occurred_at] DATETIME2 NOT NULL,
  [value] DECIMAL(18,2) NOT NULL
);

INSERT INTO [events] ([event], [occurred_at], [value]) VALUES
('login', '2026-01-04 08:12:00', '0.00'),
('purchase', '2026-01-04 08:15:30', '49.99');

Identifiers are bracket-quoted ([column]) per T-SQL convention.

SQL Server type inference

  • Whole numbers → INT / BIGINT (by range).
  • Decimals → DECIMAL(18, n).
  • Dates and timestamps → DATETIME2.
  • true/falseBIT.
  • Text → NVARCHAR(255).

Frequently asked questions

Why does my big INSERT fail in SQL Server?

SQL Server caps a single INSERT ... VALUES at 1,000 row-tuples. Converters that dump everything into one statement fail on anything larger. SQLified splits the output into 1,000-row batches so even a million-row tab-delimited file imports without that error.

How is this different from BULK INSERT with a tab delimiter?

BULK INSERT ... WITH (FIELDTERMINATOR = '\t') is fast but needs the file reachable from the server and the right permissions. SQLified's INSERT statements are portable — paste them into SSMS or Azure Data Studio, which is ideal for Azure SQL where file access is restricted.

What is a TSV file?

A tab-separated values file uses a Tab between columns instead of a comma. SQLified detects it automatically — .tsv, .tab, and tab-delimited .txt all work.

Which SQL Server versions are supported?

Modern SQL Server (2016+) and Azure SQL Database / Managed Instance. Identifiers are bracket-quoted ([col]) per T-SQL convention.

Is my file uploaded?

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