Customer Data Hasher.
Hash customer emails and phone numbers to each ad platform’s exact spec, in your browser. Nothing is uploaded, logged, or stored.
Customer Data Hasher.
Hash customer emails and phone numbers to each ad platform’s exact spec, in your browser. Nothing is uploaded, logged, or stored.
Customer Data Hasher.
Hash customer emails and phone numbers to each ad platform’s exact spec, in your browser. Nothing is uploaded, logged, or stored.
Customer Data Hasher.
Hash customer emails and phone numbers to each ad platform’s exact spec, in your browser. Nothing is uploaded, logged, or stored.
Customer Data Hasher.
Hash customer emails and phone numbers to each ad platform’s exact spec, in your browser. Nothing is uploaded, logged, or stored.
Customer Data Hasher.
Hash customer emails and phone numbers to each ad platform’s exact spec, in your browser. Nothing is uploaded, logged, or stored.
Customer Data Hasher.
Hash customer emails and phone numbers to each ad platform’s exact spec, in your browser. Nothing is uploaded, logged, or stored.
Customer Data Hasher.
Hash customer emails and phone numbers to each ad platform’s exact spec, in your browser. Nothing is uploaded, logged, or stored.
Your list never leaves your computer
Think of this page like a pocket calculator. You type numbers in, it shows you an answer, and nothing you typed is ever sent anywhere. The scrambling happens right here on your screen, inside your own web browser.
Origin Pi never sees your customers' emails or phone numbers. We could not see them even if we wanted to. The data is never sent to our server, or to anyone else. You can even switch off your internet and it still works.
What do you want to hash?
Pick one or both. This tells the tool what to look for in your list.
Mobile number format
You do not need to worry about the + symbol. The tool adds it for Google and TikTok, and removes it for Meta and Snapchat automatically, because platforms hash phone numbers differently.
Add your list
Paste it straight in, or upload a file from Excel or Google Sheets. if you want to see the format first.
One email or one phone number per line.
Advanced optionsother algorithms, salt / HMAC
Most people can skip this. The defaults are already correct for Google, Meta, TikTok and every other ad platform. Only change them if you are hashing for your own internal system.
SHA-256 is the right choice for advertising. The others exist only for older or internal tools that specifically ask for them, and their output will not match any ad platform.
Leave this blank for ad platforms. Add a secret word only if you want a private, keyed hash for your own internal use, such as making phone numbers harder to guess in your database.
Hash your list
Everything is scrambled locally on your machine. Emails are lowercased and trimmed; phone numbers are reduced to digits per platform.
Download your safe file
Pick the file that matches your platform. Each one is in the exact format that platform expects.
Google Ads & TikTok
Phone hashed in E.164 form with a leading +. Columns Email, Phone.
Meta & Snapchat
Phone hashed as digits only, no +. Columns email, phone.
Running ads on LinkedIn, X (Twitter) or Pinterest? They match mainly on email, so either file works: just use the email column. The email hash is identical in both files.
| # | Email hash | Phone (E.164) | Phone · with + | Phone · digits |
|---|
Preview shows the first 200 rows so you can sanity-check. Click any green hash to copy it. Your downloaded file has every row and contains only the hashes.
What do I do with the file now?
Google Ads: Tools → Shared Library → Audience Manager → + → Customer list → upload google_ads_customer_match.csv. Tick the box confirming your data is already hashed.
Meta Ads (Facebook / Instagram): Ads Manager → Audiences → Create Audience → Customer list → upload meta_custom_audience.csv. Meta accepts the hashed file directly.
How does hashing a customer list work?
To advertise to your existing customers on Meta and Google, the platforms let you upload your customer list so your ads reach those exact people. But you must never upload raw emails or phone numbers.
Instead, each one is turned into a fixed scrambled code, a SHA-256 hash. For example jane@email.com becomes 831f6494…. The same email always produces the same code, so the platforms can still match your customers without ever seeing their real details. A hash is one-way: it cannot be turned back into the original.
This tool does that hashing entirely inside your browser using the built-in Web Crypto API. The raw data is read, scrambled, and written to a download on your own machine. It is never transmitted. Official platform guides: Google Ads Customer Match and Meta Custom Audiences.
Which platforms does this work for?
Every major ad platform matches customer lists using SHA-256, and they all normalise email the same way (lowercase and trim). The only real difference is the phone number format. Use the file that matches your platform below.
| Platform | Algorithm | Phone format | File to use | |
|---|---|---|---|---|
| Google Ads (Customer Match) | SHA-256 | lowercase | E.164 with + | Google & TikTok file |
| TikTok Ads | SHA-256 | lowercase | E.164 with + | Google & TikTok file |
| Meta (Facebook / Instagram) | SHA-256 | lowercase | digits only | Meta & Snapchat file |
| Snapchat Audience Match | SHA-256 | lowercase | digits only | Meta & Snapchat file |
| LinkedIn Matched Audiences | SHA-256 | lowercase | no phone field | Either (email column) |
| Microsoft Advertising | SHA-256 | lowercase | no phone field | Either (email column) |
| X (Twitter) Tailored Audiences | SHA-256 | lowercase | email-led | Either (email column) |
| Pinterest customer lists | SHA-256 | lowercase | not documented | Either (email column) |
Verified against each platform's own documentation: Google and TikTok keep the +; Meta and Snapchat strip it to digits only. LinkedIn, Microsoft and X match on email (their customer lists have no phone field), and Pinterest and Amazon accept SHA-256 but do not publish a clear phone format, so the email column is the safest starting point there. Specs change, so confirm in the platform's help center before a large upload.
Where else do people hash data?
Uploading a customer list is the most common reason, but the same SHA-256 hashing shows up wherever you need to match or share people-data without exposing the raw details. The hashes from this tool are the standard, unsalted SHA-256 those use cases expect.
- Conversion APIs and enhanced conversions. Meta's Conversions API and Google Enhanced Conversions hash email and phone before sending events server-side, for better attribution. They use the same unsalted SHA-256 this tool produces.
- Suppression and dedup lists. Share who to exclude, or reconcile records across two partners, using the hash as a common key without handing over real contact details.
- Data clean rooms. Google Ads Data Hub, Amazon Marketing Cloud and Snowflake match on hashed keys too, but usually a keyed (HMAC) hash with a shared secret rather than a plain one. Use the salt option in advanced for that.
- Internal pseudonymisation. To make low-value data like phone numbers harder to guess inside your own systems, add a salt or HMAC key. This will not match any ad platform, so use it only when matching is not the goal.
- Generic SHA-256. Any time you need a stable, one-way fingerprint of a value.
Different needs, different algorithm: matching needs plain, unsalted SHA-256 (a salt would break it), while internal privacy wants a salt or HMAC. Either way this is not the way to store passwords; those need a slow, salted hash like bcrypt or Argon2.
Is a hashed list still personal data?
This is the part people get wrong. Hashing protects the data in transit and at rest, but it is pseudonymisation, not anonymisation. A hashed email or phone number is generally still personal data under the GDPR and Singapore's PDPA, because it still points to one identifiable person.
In practice that means you still need a lawful basis and the right consent before uploading a customer list to an ad platform. Hashing is a safeguard, not a permission slip. If you want this done properly across markets, that is exactly the kind of work we do.
Common questions.
Is my customer data uploaded anywhere?
No. All hashing happens inside your own browser using its built-in Web Crypto. Your emails and phone numbers are never sent to Origin Pi or any server. Paste and CSV files work with your internet switched off, and even the Excel reader is served from our own site, so your data never leaves your computer.
Why do Google Ads and Meta need hashed data?
To match your customer list to platform users without exposing the raw contact details. Both platforms require you to hash emails and phone numbers with SHA-256 before upload. The same input always produces the same hash, so matching still works while the original data stays private.
What is the difference between the Google and Meta files?
The email hash is identical. The phone hash differs: Google expects the phone in E.164 form with a leading plus before hashing, while Meta expects digits only with no plus. This tool produces both formats correctly, so you upload the right one to each platform.
Does this work for TikTok, LinkedIn, Snapchat, X, or Pinterest?
Yes for the email hash, which uses the same SHA-256 standard on every major platform. For phone numbers, Google and TikTok keep the leading plus, while Meta and Snapchat use digits only. LinkedIn, Microsoft and X match on email only. Always confirm the current spec in your platform's help center.
Do my phone numbers need a country code?
Yes. Both platforms require a country code for phone matching. If your numbers are local only, pick your country and the tool adds the correct code. Whether you include the plus symbol does not matter, because the tool adds it for Google and removes it for Meta automatically.
Can a SHA-256 hash be reversed back to the email or phone number?
No. SHA-256 is a one-way function, so you cannot turn a hash back into the original email or phone number by calculation. That is exactly why the ad platforms accept it: they can match identical hashes without ever seeing the raw contact details.
Is hashing the same as encryption?
No. Encryption is reversible with a key, while hashing is a one-way fingerprint that cannot be undone. Ad platforms ask for hashing, not encryption, so that the same person produces the same code on both sides without anyone being able to recover the original data.
Do the platforms accept MD5 or SHA-1 instead of SHA-256?
For customer match, the major platforms require SHA-256, which is why this tool defaults to it. Under advanced options it can also produce SHA-1, SHA-384, and SHA-512 for your own internal use, but those will not match on the ad platforms. MD5 is not offered because it is insecure and not supported by browser crypto.
Is hashed customer data still personal data under GDPR or PDPA?
Usually yes. Hashing is treated as pseudonymisation, not anonymisation, so a hashed email or phone number is generally still personal data under GDPR and Singapore's PDPA. You still need a lawful basis and the right consent before uploading a customer list. See our AI compliance page for more.
How should I format my list before hashing?
Use one column with one email or phone per row, or two columns for email and mobile. Emails are lowercased and trimmed for you, and phone numbers are reduced to digits with the country code. You do not need to clean the data by hand first; the tool normalises it.
Should I add a salt to my hashes?
Only if you are not matching to an ad platform. Ad platforms need a plain, unsalted SHA-256 so both sides produce the same hash, and a salt would stop your list from matching. A salt or keyed HMAC is useful only for internal pseudonymisation, where you want to make low-value data like phone numbers harder to guess and do not need to match an outside platform. You can switch it on under advanced options.
Tell us how your business runs. We will show you the brain.
A real person replies. No funnel, no sequence.
Talk to usTell us how your business runs. We will show you the brain.
A real person replies. No funnel, no sequence.
Talk to usTell us how your business runs. We will show you the brain.
A real person replies. No funnel, no sequence.
Talk to usTell us how your business runs. We will show you the brain.
A real person replies. No funnel, no sequence.
Talk to usTell us how your business runs. We will show you the brain.
A real person replies. No funnel, no sequence.
Talk to usTell us how your business runs. We will show you the brain.
A real person replies. No funnel, no sequence.
Talk to usTell us how your business runs. We will show you the brain.
A real person replies. No funnel, no sequence.
Talk to usTell us how your business runs. We will show you the brain.
A real person replies. No funnel, no sequence.
Talk to us