CSV Data Check
Check a CSV for Repeated Keys and Missing Values
Check an export before you use it elsewhere. Choose which columns need values and which combination should be checked for repeated keys. Your original file stays unchanged.
Your file is read and checked on this device. File contents, names, columns and findings are not uploaded, saved to browser storage or attached to Contact. Keep downloaded reports in an approved place. Reset clears the working state; reloading starts a new check.
- File
- Criteria
- Check
- Findings
- Keep a report
1. Choose the file and separator
UTF-8 .csv or .tsv, up to 8 MiB. The first parsed record is the header. Check that its columns match what you expect before continuing.
Choose explicitly; the Tool does not infer a separator from uncertain evidence.
What the check means
No findings under these checks does not establish that the data is accurate, secure or suitable for every import. The Tool does not repair, merge or rewrite records. It does not check dates, email validity or other business rules.
Header is record 0. Data records start at 1; columns start at 1. Quoted multiline fields stay in one record. Locations are logical records, not physical source lines. Internal empty records count; the final record-ending newline does not add another record.
Required values checks for blank or missing values in your chosen columns. Matching key compares your chosen column or combination across records; a repeat is a finding to review, not proof of the same person or entity. Both checks use column positions. Text is compared exactly, including case, spaces, leading zeros and Unicode characters. Only empty or absent fields count as missing; spaces count as a value. Rows with a different field count are not classified as duplicate keys.
Supported files and safety limits
UTF-8 CSV, with or without a UTF-8 BOM. Choose comma, tab or semicolon explicitly; the Tool does not guess. XLS/XLSX, UTF-16, binary files and remote imports are unsupported.
Up to 8 MiB, 50,000 data records, 64 columns and 500,000 data cells. A field may contain up to 32,768 UTF-16 code units; a header label up to 512. Parser record buffer: 131,072. Retained findings: 25,000; JSON output: 4 MiB; processing watchdog: 10 seconds. The first boundary reached stops the check and is reported. These are safety limits, not an account or usage quota.
A partial result contains retained findings and the number of fully checked records, not a complete diagnosis. A parser failure never establishes a clean file. Physical-device memory and speed vary.
Inspect a small CSV manually
Without JavaScript, this page cannot process a file. For a small non-sensitive CSV, open a copy in a trusted text editor to compare the header and record structure. In a spreadsheet, choose text import settings that preserve leading zeros and other text. Compare the columns you expect, inspect missing required values and use your chosen columns to review repeated combinations. Multiline quoted fields can span several physical lines. Keep the original unchanged and ask the receiving system for its import requirements.
Read the fictional sample
All names and identifiers below are invented. Choose Contact as required and Customer ID as the matching key to explore the missing value, repeated key and incomplete key. The last record has fewer fields than the header.
Customer ID,Contact,Order Number,Note C001,Sample North,ORD-001,"Fictional, example" C002,,ORD-002,"Two lines inside one field" C001,Sample South,ORD-003,Review this matching ID ,Sample East,ORD-004,Missing selected key C005,Sample West,ORD-005
Continue where it helps
Ask what a software import or export needs →
Explore help with recurring data movement →
Contact is optional. You can share the public topic through the workspace controls; your file, criteria and findings are not attached.