1. Your profile CSV
A profile or customer export from any platform edited in a spreadsheet, or a sheet prepared for Klaviyo's CSV import. Customer data is personal data: this page never uploads it.
Choose a file or paste the text, then click Check file.
Result
Rows with findings
| Line | Profile | Findings |
|---|
Safe fixes
The rules, and what they leave out
- Identity. Every row needs an Email, a Phone Number or an External ID. Emails must be valid and unique; two rows that differ only in capitals are the same person.
- Phone Number should be international E.164: a +, the country code and 7 to 15 digits in all, such as
+16175550101. This tool never adds a country code for you. - Standard columns. Email, Phone Number, External ID, First Name, Last Name, Organization, Title, Address 1, Address 2, City, Region, Country, Zip, Latitude, Longitude, Timezone and Image. Near misses such as
Phone,Zip CodeorStateare flagged because they can import as a custom property of that name. Every other column is treated as a custom property and only noted. - Excel damage. A Zip such as 2108 for a US address has lost its leading zero;
2108.0and1.2E+10mean Excel read the cell as a number. Long numeric IDs suffer the same. Format the column as Text before editing. - Location. Latitude runs from -90 to 90 and Longitude from -180 to 180; Timezone is an IANA name such as America/New_York.
- Dates in a column named like a date: one format throughout, ideally YYYY-MM-DD. Mixed or day/month-ambiguous values are flagged and never reordered.
- Safe fixes change only the delimiter, header spelling of standard columns, stray spaces around an email, phone, zip or ID, spaces and brackets inside an already valid phone number, and a trailing
.0on a zip. It never edits a name, address or custom value, never adds a leading zero or a country code, never merges duplicates and never touches a consent value. - Not checked: that Klaviyo will accept the file today, whether an email is deliverable, whether you have permission to message anyone, suppression and unsubscribe lists, your account's existing profiles and custom property types, file size limits and anything Klaviyo changes in its importer. Import a handful of profiles first.
Common questions
Why did my Klaviyo CSV import skip rows or create odd profiles?
The usual causes are a row with no email, phone number or external ID, an email that is not a valid address, the same email on two rows (capitals do not make it different), a phone number without a country code in +1234567890 form, a header like Phone or Zip Code that is not mapped to the standard property and quietly becomes a custom property, a date column that mixes day-first and month-first values, and an Excel save that stripped leading zeros from zip codes or turned long phone numbers and IDs into scientific notation. This tool tests each of them and names the line.
Does a clean CSV mean I can email these people from Klaviyo?
No. This tool only checks formatting. Permission to market comes from a real opt-in you hold a record of, such as a signup form or a prior platform's subscription list, and Klaviyo asks you to confirm that at import. The tool never creates or changes consent. Messaging people who did not opt in can breach laws such as CAN-SPAM, TCPA, GDPR and PECR. Ask a lawyer if unsure.
Why did my US zip codes lose their leading zero?
Excel treats a zip as a number and drops the leading zero, so 02108 becomes 2108. The tool flags 3- and 4-digit US zips. It does not add the zero back for you, because only your records know the real zip; re-enter it with the column formatted as Text.
What does Apply safe fixes change?
Only things with one reasonable reading: the delimiter, the spelling of standard headers, stray spaces, punctuation inside an already valid phone number and a trailing .0 on a zip. Every change is listed with its line. It never edits names, addresses, custom values or anything about consent.
Is it safe to put my customer list into a web page?
The page runs in your browser, the file is read locally and nothing is uploaded; a test in the code asserts there are no network calls. You remain responsible for how you store and handle the downloaded file.
What does this not check?
Whether Klaviyo will accept the file today, whether emails are deliverable, your suppression lists and existing profiles. A clean result is not a promise of success: import a few profiles first.