1. Your contacts CSV
A Google Contacts export, a file from Outlook, a phone or a CRM, or a spreadsheet you built, saved as CSV.
Choose a file or paste the text, then click Check file.
Result
Contacts
| Line | Name | Phone | City |
|---|
Safe fixes
Split files
The model, and what it leaves out
- Two layouts: the current export (
First Name,Last Name,Labels,E-mail 1 - Value) and the older one (Given Name,Family Name,Group Membership,E-mail 1 - Type). Numbered groups (E-mail, Phone, Address, Website, Custom Field and others) are matched by number. - Headings are matched by name: a heading Google does not recognise is skipped along with its whole column. Spelling and case variants such as
Email 1 - Valueare restored by safe fixes. - Several values in a cell: Google joins them with
:::. Commas and semicolons inside an email cell are an error. - Something to build a contact from: a row with no name, email, phone or organization is flagged; a completely blank row is removed by safe fixes.
- Duplicates: Google imports every row as a new contact. Exact copies and rows sharing an email are reported, and exact copies are removed by safe fixes. Two people are never merged for you.
- Excel damage: phone numbers and postal codes in scientific notation are unrecoverable and flagged; ZIP codes and phone numbers that lost a leading zero are flagged but never rewritten, because the tool cannot know the original.
- Birthdays: year-month-day or
--MM-DD, and a real calendar date. A month/day/year date is flagged, not rewritten, because 03/04 is ambiguous. - Safe fixes change only the separator, heading spelling, stray spaces around a cell, a mailto: or tel: prefix, blank rows and exact duplicate rows. It never edits the letters of a name, a note or an address, or the digits of a phone number.
- Not checked: that Google will accept the file today, that a contact already exists in your account, that labels or groups exist, and anything Google changes in its importer. Import a handful first.
Common questions
Why does my Google Contacts CSV import fail or come in blank?
The usual causes are headings Google does not recognise (Email 1 - Value instead of E-mail 1 - Value, so the whole column is skipped), a semicolon-separated file from Excel, several emails in one cell separated by commas instead of Google's three-colon separator, rows with no name, email or phone, and an Excel save that turned phone numbers into scientific notation. This tool tests each of them and names the line.
How do I check a Google Contacts CSV before importing it?
Paste the file or drop it onto this page. It reads the headings against the Google Contacts layouts, then lists every problem with its line number as errors, warnings and notes. Nothing is uploaded.
How do I put two emails or phone numbers in one Google Contacts cell?
Separate the values with space, three colons, space ( ::: ) inside one cell; that is how Google's own export writes them. A comma or semicolon makes Google read one broken address. This tool flags the cell and does not guess how to split it.
Why did Google Contacts create duplicates when I imported?
Google imports each row as its own contact and does not merge on import, so two rows for the same person, or an import of people you already have, give you duplicates until you run Merge & fix. This tool lists rows that share an email address and exact copies of a row, and Apply safe fixes removes the exact copies.
Why did my phone numbers turn into 4.41175E+11?
Excel stored a long number in a cell formatted as General or Number and shortened it. The lost digits cannot be recovered from the file, so the tool flags the cell as an error and leaves it alone. Re-export from the source with the column set to Text.
What does Apply safe fixes change?
Only things with one reasonable reading: the separator, Google heading spelling, stray spaces around a cell, a mailto: prefix on an email, a tel: prefix on a phone, blank rows and exact duplicate rows. It never edits the letters of a name, a note or an address, or the digits of a phone number, and it never merges two people.
Is it safe to put my contacts 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. A contacts file is personal data about other people, so your own policies still decide what you may open in a browser.
What does this not check?
Whether Google will accept the file today, whether a contact already exists in your account, whether a label or group exists, and anything Google changes in its importer. A clean result is not a promise of success: import a handful of contacts first.