CSV → Relational Excel

Drop multiple CSV files and get a single multi-tab .xlsx workbook with automatic column type detection, PK/FK relationship inference, and a full data dictionary tab.

📊

Drop CSV files here or click to browse

Select one or more .csv files — each becomes a sheet in the workbook

✅ Workbook ready


What This Tool Does

This tool takes one or more CSV files and combines them into a professional multi-tab Excel workbook (.xlsx). Each CSV becomes its own worksheet tab. The tool then analyzes every column to detect data types (integer, decimal, date, boolean, email, URL, UUID, text), identifies likely primary keys, and infers foreign key relationships between tables by matching column names and value sets.

A dedicated Data Dictionary tab is generated that documents every column across every table: column name, detected type, nullable status, unique value count, sample values, PK/FK flags, and relationship targets. This is the metadata sheet that analysts and engineers typically have to build by hand.

How PK/FK Inference Works

Primary key detection looks for columns where every value is unique and non-empty. Columns with names matching common patterns (id, *_id, *_key, *_code) are prioritized. The first qualifying column per table is selected as the primary key.

Foreign key inference checks each non-PK column against the primary key columns of other tables. If the column name matches a PK column name in another table (or follows the pattern tablename_id) and the column's values are a subset of the PK values, it is flagged as a foreign key with the target table and column recorded.

How to Use It

💡 Need to go the other direction? The Relational Data Generator creates multi-table test datasets with real FK relationships from scratch. For single-table fake data, use the Custom Fake Data Generator.

Frequently Asked Questions

How does the tool infer primary keys?
Columns with all unique non-empty values and names ending in _id, id, key, or code are flagged as likely primary keys. The first such column per table is selected.
How are foreign key relationships detected?
The tool checks if a column in one table shares its name with a primary key column in another table, and if the values in the first column are a subset of the values in the PK column.
What column types are detected?
Integer, decimal, boolean, date (ISO), datetime, email, URL, UUID, and text. Detection is based on sampling values from each column.
Is there a file size limit?
Everything runs in your browser, so practical limits depend on available memory. Files up to ~50 MB each work well in modern browsers.
Can I use TSV or semicolon-delimited files?
Yes. The parser auto-detects comma, tab, semicolon, and pipe delimiters.

Privacy & Security

All CSV parsing, type inference, relationship detection, and .xlsx generation happen entirely within your browser using JavaScript. Your data — whether it contains customer records, financial data, or proprietary business information — is never transmitted to any server. When you close the tab, everything is gone.