HomeFree toolsContact CSV Cleaner

Contact CSV cleaner

Clean a contact list before you import it into HighLevel: convert phone numbers to international format, fix ALL-CAPS names, repair email typos, merge duplicates and rename columns so they map on the first try. Your file never leaves your browser.

FreePrivate — nothing uploadedImport-ready
1 Load your contactsStays on your device
2 Cleaning rules

Guide

Why clean a list before importing it

An import is the moment bad data gets locked in. Once a messy list is inside HighLevel, every problem multiplies: texts fail because phone numbers are missing a country code, greetings read “Hi JOHN,” or “Hi ,”, the same person gets two copies of every campaign, and reports count one customer as three.

Fixing those things one contact at a time inside the CRM is slow. Fixing them in the file before you upload takes a minute. That is the job of this cleaner: take the export you have, whether from an old CRM, a spreadsheet, a trade show scanner or a booking app, and turn it into a file HighLevel can import cleanly on the first try.

It runs entirely in your browser. The file is read on your own device and is never uploaded, which matters when the list contains customer data.

What the cleaner fixes

  • Phone numbers — converts (555) 201-4455, 555.201.4455 and 0300 1234567 into international format, removes extensions, and flags numbers that can't be valid.
  • Names — fixes names typed in ALL CAPS or all lowercase, including McDonald and O'Brien, and splits a single “Name” column into first and last name. Names that already have mixed case are left alone.
  • Emails — lowercases them, removes stray spaces and trailing punctuation, repairs common domain typos like gmial.com and yahoo.co, and clears addresses that can't be valid.
  • Duplicates — merges rows that share an email or phone number, filling empty fields in the first row from the duplicate instead of throwing information away.
  • Columns — renames them to the field names HighLevel uses, such as First Name, Phone and Company Name, so they map on the first try.
  • Tags — merges existing tags and adds one of your own to every row, so you can find this import later.

Anything removed or uncertain goes into a second file, removed & flagged rows, with the reason for each. Nothing disappears without a record.

Phone numbers: why international format matters

HighLevel, like most phone systems, stores numbers in E.164 format: a plus sign, the country code, then the number with no spaces or punctuation. For example, +15552014455 for a US number or +447911123456 for a UK mobile.

When a list contains numbers without a country code, the system has to guess. Usually it assumes your account's country, which is right for most of the list and wrong for the rest. Numbers written with a leading zero, like UK or Pakistani numbers, also need the zero removed before the country code is added. Getting this wrong means texts that never send and calls that fail.

Set Default country to the country most of your contacts are in. Numbers that already start with + or 00 are kept with their own country code, so an international list is handled correctly. Numbers that don't fit the expected length are kept unchanged and highlighted in red for you to check.

How to import the clean file into HighLevel

  1. Download the clean CSV using the button above.
  2. In your sub-account, open Contacts and choose the option to import contacts from a file.
  3. Upload the CSV. Because the columns already use HighLevel's field names, most of them map automatically.
  4. Map any extra columns you kept to custom fields, or create the custom fields first if they don't exist yet.
  5. Choose how to handle existing contacts. HighLevel can update contacts it already has, matched by email or phone, instead of creating duplicates.
  6. Add the import to a tag or list if offered, then start the import and review a few contacts once it finishes.

Menu names in HighLevel change from time to time, but the import flow follows these same steps.

A clean list is easy to message. That doesn't mean you should. In the US, and in many other countries, you need the contact's consent before sending marketing texts, and carriers check that your messages match the opt-in you described during A2P 10DLC registration.

  • Only import contacts who gave you their details and agreed to hear from you.
  • Never import purchased or scraped lists into a texting workflow.
  • Tag imports by source, so you can always show where a contact came from.
  • If you're not sure whether a group opted in to texts, email them first or ask for consent before texting.

This is general guidance, not legal advice, but following it protects both your phone number's reputation and your business.

Tips for very large files

  • The cleaner handles tens of thousands of rows in a modern browser. For very large exports, split the file by region or year and clean each part.
  • Open the downloaded file in a text editor rather than Excel if you need to check it. Excel can strip the + from phone numbers when it saves.
  • Keep your original export. The clean file is a new copy, and the flagged-rows file tells you exactly what changed.

Frequently asked questions

Is my contact list uploaded anywhere?
No. The file is read and processed entirely in your browser using JavaScript. Nothing is sent to a server, and the data is gone when you close the page.
What phone number format does HighLevel need?
International E.164 format works best: a plus sign, the country code and the number with no spaces, such as +15552014455. The cleaner converts local formats into this using the default country you choose.
How does duplicate merging work?
Rows that share an email address or phone number are treated as the same person. The first row is kept, and any empty fields in it are filled from the duplicate. Every merged row is listed in the removed and flagged file.
Can I open an Excel file?
Not directly. In Excel or Google Sheets, export the sheet as CSV first, then load that file. This keeps the tool fast and private.
Why do some phone numbers stay red?
They don't match the length expected for your default country and don't start with an international code, so the cleaner can't safely guess. They are kept as they were so you can fix them by hand.
Will my custom columns be kept?
Yes, when “Keep other columns” is on. Columns that don't match a standard field are passed through unchanged, so you can map them to custom fields during the import.
Why does Excel remove the + from phone numbers?
Excel treats phone numbers as numbers and drops the plus sign when it saves. Upload the downloaded CSV straight to HighLevel without opening and re-saving it in Excel.