SmartQueryTools

Compare Schema of TSV Files Online

Compare the schemas of two TSV files directly in your browser. See which columns exist in each file and spot type mismatches — no upload required.

How to compare Schema of TSV files

  1. Drop the first file onto the File A area and the second onto File B. Both must be in the format this page is for.
  2. The comparison runs as soon as both files are loaded. There are no settings to choose.
  3. Read the four counts at the top: Matched, Type mismatches, Only in A and Only in B.
  4. Go through the column-by-column list. Each column has a coloured dot and shows its type in one or both files.
  5. Drop a new file on either side to compare again. Nothing is downloaded, because the result is an on-screen report.

Your file is processed locally in your browser and is never uploaded. The free limit is 50 MB per file; larger files work if your device has the memory for them.

Worked example

An inventory team loads each monthly stock count into the same database table. April's export came from a new warehouse system and the load failed. File A is March's export, shown below.

Input (TSV)

sku	product_name	qty_on_hand	unit_cost	last_counted
HB-M8-40	Hex bolt M8x40	420	0.12	2026-03-31
WS-M8	Washer M8	1150	0.03	2026-03-31
NT-M8	Nyloc nut M8	610	0.05	2026-03-30

Settings

  • File B (April) has the columns sku, product_name, qty_on_hand, unit_cost, warehouse, count_date
  • One qty_on_hand value in File B is "12 (est)", so that column loads as text
  • No other settings: the diff runs once both files are loaded

Result

columnfile_a_typefile_b_typestatus
skuVARCHARVARCHARMatched
product_nameVARCHARVARCHARMatched
qty_on_handBIGINTVARCHARType mismatch
unit_costDOUBLEDOUBLEMatched
last_countedDATENULLOnly in A
warehouseNULLVARCHAROnly in B
count_dateNULLDATEOnly in B

The summary shows 3 matched, 1 type mismatch, 1 only in A and 2 only in B. qty_on_hand is in both files, but one annotated value made the April column text. last_counted and count_date hold the same data under different names. Columns are matched by exact name, so the tool lists them as unrelated. Renaming count_date to last_counted would turn two differences into one match.

Frequently Asked Questions

Does schema diff compare the data in the rows?

No. It compares column names and types only. The row count of each file is shown under its drop area, but values are never compared. Use Compare Files to find rows that differ.

Are column names matched case-sensitively?

Yes. Email and email count as two different columns, one only in A and one only in B. Column position does not matter: a column is matched by name wherever it sits.

Why is INTEGER against BIGINT reported as a mismatch?

Types are compared by their exact names. INTEGER and BIGINT, or DECIMAL(10,2) and DECIMAL(18,2), count as mismatches even though the values fit together. A wider type in the new file is usually safe to load. Text where a number used to be usually is not.

Related Tools