Data Quality

Column Classifier — What Each Column Holds

Names what each column of a CSV holds, how sure it is, whether it is personal data, and which validators apply to it.

Loading the tool…

Processing happens locally in your browser. What you paste or load is processed by this page and is not uploaded to a server. Nothing is stored unless you use a control that says it stores something, and you can clear anything this site has kept from the privacy page.

Every validator, with what it checks and a test box, is in the validation library.

How to use this tool

  1. Paste a CSV, or upload one.
  2. Check the delimiter and header options match the file.
  3. Select Classify columns.
  4. Start with the columns marked as personal data, and any combination the summary warns about.

What column classifier does

A column called phone is not always phones, and a column called ref is sometimes a tax number. This reads the values first: each column is sampled and tested against every validator that recognises a kind of data, and the header is only used to break a tie or support a weak match. The result names what the column most likely holds, how confident that is, and whether it was judged from the values, the name or both.

It also looks across columns, because personal data is often a combination rather than a field. A postcode on its own identifies nobody; a postcode, a date of birth and a name together can narrow a population to one person. Those combinations are reported in the summary. Every column comes back with the validators that fit it, which is the starting point for a set of quality rules.

Frequently asked questions

From the share of sampled values that pass the validator for that kind of data, adjusted for how specific the validator is and whether the column name agrees. A checksum-verified identifier matching nine rows in ten scores higher than a loose pattern matching the same share.

The values did not match anything strongly enough, but the column name did — dob or email, for example. Treat that as a hint to check rather than a finding: the name says what the column was meant to hold, which is not always what it holds.

It samples up to the first 500 non-blank values of each column, which is enough to recognise a column reliably and keeps the page quick on large files. The file stays in the page either way.