Last updated
CSV Validator Examples
The CSV Validator checks CSV files for structural issues, data type errors, missing required fields, and encoding problems. Below are examples of common CSV issues and what the validator reports.
Valid CSV File
id,name,email,age,created_at
1,Alice Johnson,alice@example.com,28,2024-01-15
2,Bob Smith,bob@example.com,34,2024-02-20
3,Carol White,carol@example.com,22,2024-03-10
Validator result: Valid. 3 data rows, 5 columns, no issues found.
Inconsistent Column Count
id,name,email,age
1,Alice,alice@example.com,28
2,Bob,bob@example.com ← missing age column
3,Carol,carol@example.com,22,extra_value ← extra column
Validator output:
Error — Row 3: Expected 4 columns, found 3.
Missing value for column: age
Error — Row 4: Expected 4 columns, found 5.
Extra value: "extra_value" has no corresponding header.
Total errors: 2 rows with incorrect column counts.
Unescaped Comma in Value
id,name,address
1,Alice,123 Main St, Suite 400 ← comma in address breaks parsing
2,Bob,456 Oak Ave
Validator output:
Error — Row 2: Expected 3 columns, found 4.
The value "123 Main St" appears to contain an unescaped comma.
Fix: Wrap values containing commas in double quotes:
1,Alice,"123 Main St, Suite 400"
Correct Quoting
id,name,address,notes
1,Alice,"123 Main St, Suite 400","Prefers email, not phone"
2,Bob,"456 Oak Ave","Says ""hello"" often"
Validator result: Valid. Commas inside quoted values are handled correctly. Double quotes escaped as "" are valid.
Data Type Validation
id,product,price,quantity,in_stock
1,Widget A,9.99,100,true
2,Widget B,not_a_price,50,true ← invalid price
3,Widget C,14.99,abc,false ← invalid quantity
4,Widget D,7.50,25,yes ← invalid boolean
Validator output (with column types configured as: id=integer, price=decimal, quantity=integer, in_stock=boolean):
Error — Row 3, Column "price": "not_a_price" is not a valid decimal number.
Error — Row 4, Column "quantity": "abc" is not a valid integer.
Warning — Row 5, Column "in_stock": "yes" is not a standard boolean. Expected: true/false, 1/0, yes/no.
Missing Required Fields
id,name,email,role
1,Alice,alice@example.com,admin
2,Bob,,editor ← missing email
3,,carol@example.com,viewer ← missing name
4,Dave,dave@example.com,
Validator output (with name and email marked as required):
Error — Row 3, Column "email": Required field is empty.
Error — Row 4, Column "name": Required field is empty.
Warning — Row 5, Column "role": Optional field is empty.
Duplicate Row Detection
id,email,name
1,alice@example.com,Alice
2,bob@example.com,Bob
3,alice@example.com,Alice ← exact duplicate of row 1
Validator output:
Warning — Row 4 is a duplicate of Row 2.
Duplicate values: id=1, email=alice@example.com, name=Alice
Encoding Issues
Validator output for a file with encoding problems:
Warning — BOM (Byte Order Mark) detected at start of file.
This may cause issues in some CSV parsers. Consider saving without BOM.
Error — Row 7, Column "name": Invalid UTF-8 sequence at byte position 42.
The file may have been saved with a different encoding (e.g., Latin-1).
Fix: Re-save the file as UTF-8.
Date Format Validation
id,name,created_at
1,Alice,2024-01-15 ← valid ISO 8601
2,Bob,01/20/2024 ← valid US format
3,Carol,20-03-2024 ← ambiguous format
4,Dave,not-a-date ← invalid
Validator output:
Warning — Row 4, Column "created_at": "20-03-2024" is ambiguous.
Could be DD-MM-YYYY or MM-DD-YYYY. Recommend using ISO 8601: 2024-03-20.
Error — Row 5, Column "created_at": "not-a-date" is not a valid date.
Common Use Cases
- Validating CSV exports before importing into a database
- Checking data files before uploading to an API or SaaS platform
- Auditing CSV data quality in ETL pipelines
- Verifying column counts and required fields in bulk data uploads
- Detecting encoding issues in files from external sources
- Finding duplicate records before database insertion
Upload your CSV file to get a complete validation report with row and column references for every issue, making it easy to fix problems before they cause import failures.