Paste an old and a new CSV sample above and select Compare schemas to see column drift and an import note.
About the CSV schema drift guard
The CSV schema drift guard compares two CSV exports - an old file and a new one - and tells you exactly how the columns changed before you import the new file or hand it to someone else. A recurring export that quietly renames a column, changes a value type, drops a field, or adds a required column can silently break an import, a report, or a downstream integration. This tool surfaces those changes so a person can decide what to do before anything breaks.
Paste your old CSV on the left and the new CSV on the right, select Compare schemas, and the tool infers a column schema for each file - the column name, the value type it sees in the sample rows, and whether the column ever holds an empty value. It then lists every column-level change with a severity and a plain-language import note, and lets you download a drift report CSV or copy a markdown import note. Everything runs in your browser. The CSV you paste, the cell values, and the column names are never uploaded or stored.
How to use
- Paste your old CSV export into the left box. A sample old file is loaded so you can see how it works.
- Paste your new CSV export into the right box. A sample new file with a renamed column, a changed type, a removed column, and an added column is loaded by default.
- Select Compare schemas to infer a column schema for each file and detect the drift between them.
- Review the drift table: each change shows the column, the kind of change, the old and new value types, a severity, and an import note.
- Select Download drift report CSV or Copy import note to keep a record before you import or hand off the new file.
Worked examples
customer_id renamed to client_id flagged Warning
A column kept in the same position with the same type but a new name is flagged as a likely rename so any code keying on the old name gets updated.
amount type changed from integer to string flagged Breaking
Once amounts arrive as $100.00 instead of 100, code that parses the column as a number can break, so the change is flagged breaking.
note column removed flagged Breaking
A column that exists in the old file but not the new one means anything reading it now gets no data, so the removal is flagged breaking.
Frequently asked questions
- What is CSV schema drift?
- CSV schema drift is when a recurring CSV export changes shape over time: a column is renamed, removed, or added, a value type changes, or a field that used to always be filled starts arriving empty. Any of these can silently break an import, a spreadsheet, or a downstream integration that expected the old layout, so it helps to compare a new export to the old one before relying on it.
- How does the guard infer a column's type?
- It looks at the values in the sample data rows for each column and picks the most specific type that fits them all: integer, number, date, boolean, or string. A column of whole numbers is integer; mixing whole and decimal numbers reads as number; anything that does not fit a single pattern reads as string. It also marks a column nullable when any sampled row leaves it empty.
- How does it decide a column was renamed instead of removed and added?
- It only calls a change a rename when a removed column and an added column share the same position, the same inferred type, and the same nullability. That conservative rule catches the common case of a column renamed in place without the false confidence of fuzzy name matching. Anything that does not meet all three conditions is reported as a separate removal and addition.
- What do the severities mean?
- Breaking covers removed columns and value-type changes, which are the most likely to break an import or a downstream reader. Warning covers renames, new required columns, and nullability changes, which usually need a mapping or code update. Info covers new optional columns you can safely ignore. The report lists breaking changes first.
- Is my CSV uploaded anywhere?
- No. The parsing, schema inference, and drift detection all run in your browser. The CSV you paste, the individual cell values, and the column names are never sent to a server or saved. Download the drift report or copy the import note before you close the tab.
Use this again tomorrow
Save this page so it's one tap away when you need a quick result.
Ready for a quick Daily Challenge?
Play Daily Challenge on sts.games