Clean, Format and Hash a Customer List Without Sending It Anywhere
Drop in a customer list and this free customer list hasher cleans every email, phone number, name and address to the rules of Google Ads Customer Match, Meta Custom Audiences or TikTok, then creates the SHA-256 email hash and the other hashed columns on your own device. You get a ready-to-upload CSV, a list of every invalid row with the reason, and a one-value hasher for testing Enhanced Conversions and Conversions API data.
Add your list, pick the platform and download a file that is ready to upload. Everything happens on your device.
No list loaded yet. The example uses made-up people on .example domains.
Matched automatically. Change any that are wrong.
Your list is cleaned and hashed in your browser with the built-in SHA-256 function. It is not uploaded, stored or emailed. This page has no email form on purpose.
Type an email or phone number to see the cleaned value and its SHA-256 hash, using the platform chosen above. Handy for checking what your Enhanced Conversions or Conversions API setup sends.
The cleaning and the SHA-256 hashing ran on your own device. No customer data was sent to mdniamul.com or anywhere else, and nothing is kept after you close the page.
I connect CRMs and stores to Google Ads, Meta and TikTok with server-side tracking, Enhanced Conversions and Conversions API, so audiences and conversions sync without manual uploads.
The formatting work that decides whether a customer list matches or fails.
Creates the 64-character hex hash each platform expects, with your browser’s own cryptography.
Lowercases, trims and removes spaces. Applies Google’s Gmail dot rule. Flags addresses that cannot be valid.
Converts numbers to E.164, adds the country code from the row’s country or your default, and strips leading zeros.
Cleans first name, last name, city, state, zip and country the way the chosen platform asks.
Writes the column names for Google Ads, Meta or TikTok, and leaves Country and Zip unhashed for Google.
Lists every bad email and phone with its row number and the reason, so you can fix the source.
Removes rows that are identical after cleaning and warns about domains such as gmial.com.
Type a single email or phone to compare its hash with what your tracking setup sends.
Three steps. No account, no upload.
Drop a CSV export from your CRM or store, or paste the rows. One email per line works too.
Choose Google Ads, Meta, TikTok or generic SHA-256, and set a default country code for phone numbers.
Get the hashed CSV with the right column names, plus an Excel report of anything that could not be used.
Ad platforms match your customers to their users by comparing hashed contact details. A hash is a fixed-length code worked out from a value. The same email always gives the same SHA-256 hash, but the hash cannot simply be turned back into the email. Google Ads, Meta and TikTok all use SHA-256.
The catch is that hashing is exact. [email protected] and [email protected] give two completely different hashes. If your list is not cleaned to the platform’s rules before hashing, real customers fail to match and the audience comes out smaller than it should.
The list is read by your browser and processed on your device. It is not sent to this website’s server, not stored and not emailed. That is why this tool has no “email me the report” form. You can check this yourself: open your browser’s developer tools, watch the Network tab and run the tool.
The rules this tool applies, taken from each platform’s help pages. Check the platform’s current template before a large upload.
| Field | Google Ads Customer Match | Meta Custom Audience | TikTok Custom Audience |
|---|---|---|---|
Column Email. Lowercase, no spaces, Gmail dots removed. Hashed. | Column email. Trimmed, lowercase. Hashed. | Spaces removed, lowercase. SHA-256. | |
| Phone | Column Phone. E.164 with “+” and country code. Hashed. | Column phone. Digits only with country code, no leading zeros. Hashed. | E.164 with “+” recommended. SHA-256. |
| First and last name | First Name, Last Name. Lowercase, trimmed, no titles. Hashed. | fn, ln. Lowercase, no punctuation. Hashed. | Not used |
| City and state | Not used | ct, st. Lowercase, no spaces. US states as 2-letter codes. Hashed. | Not used |
| Zip / postcode | Zip. Not hashed. | zip. Lowercase, no spaces. US first 5 digits. Hashed. | Not used |
| Country | Country. ISO code. Not hashed. | country. Lowercase 2-letter ISO code. Hashed. | Not used |
| Hash format | SHA-256, hex | SHA-256, hex | SHA-256 (MD5 also accepted) |
| File | CSV in UTF-8 with English column names | CSV or TXT | CSV or TXT, one ID type per file here, at least 1,000 entries |
Upload a customer list to ads without sharing it with another website.
Fix low match rates caused by badly formatted lists.
Prepare client lists without the data touching your own servers.
Check that your Enhanced Conversions or Conversions API hashes are right.
33 free tools for tracking, analytics, advertising and SEO. No login needed.
Turn a CRM export into a valid Google Ads offline conversion file and catch errors first.
Open the upload builder →Check a Google Merchant Center or Meta catalog feed for missing fields, bad GTINs and price errors.
Open the feed checker →Check speed, Core Web Vitals, on-page SEO, technical SEO, images, links and JavaScript errors.
Open the SEO audit →Upload a Google Ads search terms report to find the words wasting budget and build a negative keyword list.
Open the search terms analyzer →Hear from our clients. Loved by 600+ businesses worldwide.
“I had an excellent experience working with MD on my Google Ads account. Everything was set up perfectly and worked smoothly without any issues or troubleshooting needed. His expertise and attention to detail made the whole process effortless.”
“I worked with Niamul on multiple Google Analytics projects and was impressed by his expertise and precision. He has a strong grasp of tracking, reporting, and optimization, always ensuring accurate insights. He is proactive, reliable, and easy to collaborate with.”
“MD Niamul is extremely skilled. He fixed my Shopify, Google Analytics, and Google Ads conversion tracking perfectly. Everything works exactly as it should now, and he even added an extra data layer, which was very helpful. Outstanding service, fast delivery, and highly recommended.”
“Reliable, knowledgeable, and truly trustworthy. I’ve been working with Niamul for over a year, and he consistently delivers exceptional results across all analytics tasks. His expertise, communication, and commitment make him my go-to specialist for tracking, measurement, and data accuracy.”
“MD N delivered flawless Meta Pixel, CAPI, and server-side tracking. He understood our goals quickly, explained everything clearly, and ensured full transparency. Communication was smooth, updates were consistent, and the results improved our data accuracy and ad performance.”
Five-star reviews from businesses and agencies in the USA, Canada, UK and Australia.
Read All ReviewsYes. It is free with no login, and it runs entirely in your browser. Your list is not uploaded, stored or emailed. The page has no email form for that reason.
It is a 64-character code calculated from an email address. The same address always produces the same code. Ad platforms compare these codes instead of the readable addresses.
Not always. Both can hash a plain list in your browser when you upload it by hand. Hashing first is useful when you want to check the formatting, share the file with someone else, or send data through an API or another tool that expects hashed values.
Google’s Customer Match guidelines say to hash email, phone, first name and last name, and to leave Country and Zip as plain text. This tool follows that rule for the Google format.
A plus sign, the country code and the full number with no spaces or symbols, for example +12025550143. If your numbers have no country code, set a default country code and the tool adds it.
Common causes are emails in mixed case, phone numbers without a country code, extra spaces, old contact details, and a list that is simply too small. Formatting is the part this tool fixes.
No. Hashing hides the readable value but the hash still identifies a person, so privacy laws still apply. You need a lawful basis, and consent where required, before uploading.
It is tested with 50,000 rows, which take a few seconds. Larger lists work but depend on your device’s memory. Files up to 30 MB can be loaded.
Use the “Hash one value” box. Type the email or phone, choose the platform, and compare the 64-character result with the value in your tag or server request.
I am MD Niamul, a conversion tracking and web analytics specialist and an official Stape partner. I set up Enhanced Conversions, Meta Conversions API and automatic audience syncing from your CRM, so the right hashed data reaches each platform without manual files.