Validate CSV before import — without uploading your file.
Check for blank headers, duplicate headers, row-length mismatches, and encoding issues. Fix issues in one click before Salesforce or HubSpot rejects your file.
Drop your CSV to validate
File never leaves your device
Blank header detection
Flags columns with empty header cells — the #1 reason Salesforce and HubSpot imports fail silently.
Duplicate header check
Two columns named "email" will cause the second one to be ignored or overwrite the first in most import systems.
Row length inconsistencies
Rows with more or fewer columns than the header are flagged. Usually caused by unescaped commas in free-text fields.
Empty row removal
Counts and optionally removes fully blank rows. Common after deleting data in Excel then re-exporting.
Encoding issues
Catches replacement characters (�) and null bytes — signs your file was saved in the wrong encoding.
One-click fix + re-download
For fixable issues, click the fix button and download a cleaned CSV ready for import.
What issues does the validator catch?
Blank column headers (the #1 reason imports fail silently), duplicate headers, rows with wrong column counts, fully empty rows, encoding problems (replacement chars, null bytes), columns that are mostly empty, mixed numeric/text columns, and leading/trailing whitespace in headers or values.
What's a "blank header" and why does it matter?
A blank header is a column where the header row has no value. Salesforce, HubSpot, Mailchimp, and most databases won't know what to call that column on import — some skip it, some use "Column1", some fail the whole import. Almost always a mistake.
What happens with duplicate headers?
If two columns are both named "email", systems either ignore the second one or overwrite the first. Either way, data is lost silently. The validator flags duplicates so you can rename them before import.
Why does the validator flag row-length mismatches?
A row with more or fewer cells than the header indicates a parsing problem — usually an unescaped comma inside a free-text field. Example: an address cell like 123 Main, Apt 4 without quotes creates an extra column. The validator catches this before your import does.
What does "encoding issue" mean?
Your file has replacement characters (�) or null bytes (unprintable). Almost always the file was saved in one encoding and read as another — usually Windows-1252 opened as UTF-8. Re-save as "CSV UTF-8" from Excel and re-validate.
Can I fix issues automatically?
For some — yes. Each fixable issue has a "Fix & download" button. The validator applies the fix (trim headers, rename duplicates, remove empty rows) and gives you a cleaned CSV in one click.
Can I check if every value in my Email column is a valid email?
Yes. After your file loads, scroll to Check column contents, pick your email column, select Valid email address, and click Run column check. You'll get a count of valid vs. invalid rows, a scrollable list of every bad row with its row number, plus one-click downloads of either the valid-only or invalid-only rows — useful before pushing to Salesforce, HubSpot, or Mailchimp.
Can I validate phone numbers in a column?
Yes. The phone check accepts common US and international formats — +1 (555) 123-4567, 555-123-4567, 5551234567, +44 20 7123 4567, and similar. It strips spaces, parentheses, dots, and dashes, then checks the digit count (7–15) with an optional leading +. Rows that are clearly wrong — short IDs, garbage strings, empty-looking values — are flagged so you can clean them before a CRM or SMS-platform import.
Can I check whether every URL in a column is valid?
Yes. The URL check uses the browser's built-in URL parser — more reliable than a regex. It accepts https://example.com, http://example.com, and bare domains like www.example.com. Malformed entries like htp:/broken or plain text are flagged as invalid. Good for cleaning social-media exports, supplier lists, or link columns before pushing to any system that requires real URLs.
Can I use my own regex to check a column?
Yes. Pick Custom regex as the check type and enter your pattern. For example, ^[A-Z]{2}-\d{4}$ for internal SKUs, ^\d{5}(-\d{4})?$ for US ZIP codes, or ^[A-Z]{3}$ for ISO country codes. Everything that doesn't match is listed with row number and cell value, and you can download the invalid rows for correction.
Does validation modify my original file?
No. The validator only reads. Fixes and column-check downloads produce new CSVs — your original file on disk is untouched.
What's the difference between validation errors and warnings?
Error: the file will likely fail to import. Warning: the file will probably import but the data is suspicious (e.g. 80% of a column is empty). Info: low-priority observations.
Does validation work with XLSX?
Yes. The validator reads Excel files natively. Structural checks apply identically. Some issues (like encoding) are specific to CSV and won't show up for XLSX.
Split CSV
Break large files by size, rows, parts, or column.
Merge CSV
Combine multiple files into one, matching headers by name.
Remove Duplicates
Remove duplicates by any columns, keep first or last occurrence.
Filter Rows
Keep or remove rows matching text, number, or regex.
CSV ↔ JSON
Convert either direction, array of objects or NDJSON.
Find & Replace
Bulk edit values across one column or all.
Sort CSV
Sort by one or more columns, text or numeric.
Validate CSV
Check before import, one-click fixes.