Runs in your browser. Data never leaves your machine

Anonymize a CSV before pasting it into ChatGPT

Replace emails, names, phone numbers and IDs with synthetic or tokenized values, then paste the safe version into ChatGPT, Claude or Gemini. Map the AI's response back to your real records using the mapping file.

Drop a file to anonymize

CSV, TSV, TXT or Excel. Runs in your browser, never uploaded.

Supported: .csv, .tsv, .txt, .xlsx, .xls

Why you should not paste raw customer data into ChatGPT

Once a customer email or name lands in an AI provider's input, you have no control over how it's logged, cached or used for training. The safest pattern is to anonymize first, paste the safe version, then translate the response back locally with the mapping dictionary.

  • Keeps customer PII out of OpenAI, Anthropic and Google logs
  • Compliant with internal 'no production data to third parties' policies
  • Reversible: translate the AI's analysis back to real customers with one click
  • Works for any LLM, ChatGPT, Claude, Gemini, Perplexity, Mistral

Three steps to safe AI analysis

  1. 1
    Anonymize
    Upload the CSV. Detected PII columns are pre-selected with the right method. Run a free preview to verify.
  2. 2
    Paste into the AI
    Download the anonymized CSV (or copy its content) and paste it into ChatGPT/Claude with your prompt.
  3. 3
    Reverse the AI's response
    Take the AI's answer, paste it into the de-anonymize tool with the mapping file. Tokens like EMAIL_0001 turn back into real emails.

Choosing the right method for AI input

For data you'll paste into ChatGPT, Pseudonymize is usually the right choice: it produces short, reversible tokens that the LLM can reason about as identifiers (EMAIL_0001 looks like an identifier; a SHA-256 hash looks like garbage and confuses the model). Faker (reversible) works too if you want the data to look 'realistic' to the model.

For columns the LLM doesn't need to reason about, Redact replaces the value with a placeholder. For one-way analytical work where you'll never need the originals back, Hash is the safest because the original cannot be recovered even by you.

Now translate the AI's output back

Copy the AI's response, open the reverse tool, paste it together with the mapping file. Every EMAIL_0001 becomes the original email. Locally, never uploaded.

Open the reverse tool →

Related tools

Frequently asked questions

Does ChatGPT see my real data?+

Only if you paste it. If you anonymize first with this tool, ChatGPT sees synthetic tokens like EMAIL_0001 instead of real emails. The original values never leave your machine.

Will ChatGPT understand anonymized data?+

Yes. Pseudonymized tokens (EMAIL_0001, EMAIL_0002) preserve the relational structure of your data. The LLM can still group, count, sort and analyze by these tokens. Reversible faker (synthetic emails) works too.

How do I get the original values back from ChatGPT's answer?+

Use the reverse tool: paste the answer plus the mapping file. The tool replaces every token in the text with its original value.

Is this compliant with my company's AI policy?+

Most 'no production data to third parties' policies are satisfied if the data is anonymized before leaving your machine. Check with your DPO; the GDPR pseudonymization page has more detail.