Home / Extract and convert / Email hasher (SHA-256)

Email Hasher (SHA-256) for Facebook & Google Customer Match

Turn a customer list into SHA-256 hashes in the format Meta (Facebook) and Google Ads expect. Each address is trimmed and lowercased first, then hashed on your own device with your browser's built-in cryptography. Nothing is uploaded.

Runs 100% in your browser. Your list is never uploaded or sent anywhere: hashing happens on this device. You can also drag a file onto the box. Spreadsheets: save as CSV first.

Check one address

Check it yourself: [email protected] hashes to 973dfe463ec85785f5f95af5ba3906eedb2d931c24e69824a89ea65dba4e813b, and Meta's own example, [email protected], to 62a14e44f765419d10fea99367361a727c12365e2520f32218d505ed9aa0f62f. Any SHA-256 tool gives the same result.

What each platform asks for

PlatformWhat its documentation says
Google Ads Customer MatchThe email column header must be Email. You can upload plain text (Google hashes it with SHA-256) or hash it yourself, as hex-encoded SHA-256. Before hashing: remove spaces, lowercase everything, and "remove all periods (.) preceding the domain name in @gmail.com and @googlemail.com addresses". The file must be a CSV in ASCII or UTF-8, and you choose "hashed" when you upload it. Source: Google Ads Help: Format your customer data file.
Meta (Facebook, Instagram)Customer lists use an email column (Meta's customer list formatting guidelines). Meta's developer docs say email must be hashed with SHA-256, "using lowercase for A through F", after you "trim any leading and trailing spaces" and "convert all characters to lowercase". Sources: Custom Audiences and customer information parameters.

About the Gmail boxes. Both are off by default, so each address is only trimmed and lowercased, the one step every platform agrees on. Google's Customer Match guide also asks for dots to be removed in Gmail addresses when you hash the list yourself, so tick the first box for a Google upload. Meta's guide doesn't mention it, so leave both unticked for Meta. Removing +tags isn't in either Customer Match or Meta's customer list guide: use it only if you know you need it.

Do you need to hash at all? Both platforms also accept a plain list and hash it themselves (Meta's Ads Manager hashes it in your browser before upload). Hashing first is for when your own rules, a client or an agency require that plain addresses never leave your computer, or when you upload through an API or a partner tool.

How it works

  1. Normalize. Each address is trimmed and lowercased ( [email protected] becomes [email protected]), with the optional Gmail steps. Blank and invalid entries are skipped and listed, because a hash of a broken address can't match anyone.
  2. Hash. The normalized address is encoded as UTF-8 and hashed with SHA-256 by your browser's Web Crypto, the same cryptography used for secure websites. The result is 64 lowercase hex characters.
  3. Format. The hashes are written to a CSV with the header the platform expects: Email for Google, email for Meta.
  4. Download. The file is created on your device. Nothing is sent to ListaFix, Google, Meta or anyone else.

Hashing is not anonymization

A SHA-256 hash can't be reversed, but anyone who already has an email address can hash it and compare. That is exactly how ad platforms match your list to their users. So under laws like the GDPR, a hashed email is still personal data (pseudonymized, not anonymous), and the usual rules still apply.

You need permission to upload a customer list. Only use addresses you collected yourself, with the consent or notice your local law requires, and follow each platform's rules: Google's Customer Match policy and Meta's Custom Audience terms. Remove people who unsubscribed or asked not to be tracked. This page is a tool, not legal advice.

Related free tools

Related guides on EmailNa

What the email hasher does

Ad platforms such as Meta (Facebook and Instagram) and Google Ads can show ads to your existing customers if you upload their email addresses. Many businesses prefer to send only hashed addresses: a SHA-256 hash is a fixed 64-character fingerprint of each address that the platform can match against its own users. This tool normalizes and hashes your list in the exact format each platform documents, entirely on your device.

Benefits

  • Right format for each platformAn Email column for Google Customer Match, an email column for Meta.
  • Normalized firstTrimmed and lowercased, so [email protected] and [email protected] get the same hash and match.
  • Gmail optionsRemove dots (Google's guidance) or +tags, off by default and explained.
  • Hashed on your deviceUses your browser's built-in Web Crypto. Nothing is uploaded.
  • Skips the junkBlank and invalid entries are listed, not hashed, and duplicates can be removed.
  • VerifiableKnown test values on the page let you confirm the hashes are correct.
  • Big lists100,000 addresses are hashed in a few seconds.

Who it is for

  • A small business building a Facebook or Instagram custom audience from its customer list.
  • A marketer uploading a Customer Match list to Google Ads.
  • An agency that must not receive plain customer addresses from clients.
  • Anyone who needs a hashed suppression list to share with a partner.

How to use it

  1. Paste your addresses, or open a CSV and pick the email column.
  2. Choose Google, Meta or the two-column format, and the Gmail options if you need them.
  3. Press Hash my list.
  4. Download the CSV and upload it as a hashed customer list on the platform.

Your privacy

Your list is normalized and hashed by code running in your browser and is never uploaded. ListaFix doesn't see your addresses or your hashes.

Frequently asked questions

What hash does Facebook (Meta) use for emails?

SHA-256, written as lowercase hexadecimal (64 characters). Meta asks you to trim spaces and lowercase each address before hashing. This tool does exactly that.

What format does Google Customer Match want?

A CSV with an Email header. If you hash the list yourself, use SHA-256 in hex after removing spaces and lowercasing, and remove dots before @gmail.com and @googlemail.com. Tick that box for a Google upload, then choose "hashed" when you upload.

Should I remove the dots in Gmail addresses?

For Google Customer Match, yes: Google's guide asks for it when you hash the list yourself. For Meta, no: its guide only asks you to trim and lowercase. Both boxes are off by default so nothing changes unless you choose.

Is a hashed email anonymous?

No. Hashing hides the address, but anyone with the same address can produce the same hash, which is how matching works. Under laws like the GDPR, hashed emails are still personal data, so you still need consent or another legal basis to upload them.

Is my list uploaded to ListaFix?

No. Hashing uses your browser's Web Crypto and happens on your device. You can check in your browser's Network tab: no request carries your list.

Why are some rows skipped?

Blank cells and entries that aren't valid email addresses aren't hashed, because their hash could never match a real person. You can download the skipped rows to fix them.