{
  "slug": "email-normalizer",
  "name": "gizza-ai/email-normalizer",
  "version": "0.1.0",
  "title": "Email Normalizer — Canonicalize Email Addresses — gizza.ai",
  "description": "Normalize email addresses to canonical form — strip Gmail dots and +tags, fold googlemail.com, dedupe-ready output, free and private in your browser.",
  "tags": [
    "email normalizer",
    "canonical email",
    "gmail dots",
    "plus addressing",
    "sub-address",
    "email deduplication",
    "normalize email",
    "googlemail"
  ],
  "category": "network",
  "urls": {
    "page": "https://gizza.ai/tools/email-normalizer/",
    "markdown": "https://gizza.ai/tools/email-normalizer/index.md",
    "descriptor": "https://gizza.ai/tools/email-normalizer/tool.json",
    "deep_link_example": "https://gizza.ai/tools/email-normalizer/?email=John.Doe%2Bnewsletter%40googlemail.com&lowercase_local=true"
  },
  "cli": "gizza tool email-normalizer \"John.Doe+newsletter@googlemail.com\"",
  "tool": {
    "description": "Canonicalize an email address to its deliverable form. Lowercases the domain (and, by default, the local part); for Gmail/Googlemail it strips all dots from the local part and folds googlemail.com to gmail.com; for Gmail, Outlook/Hotmail/Live, Yahoo, iCloud, Fastmail, Proton and other plus-tag providers it drops the '+tag' sub-address. Unwraps a 'Name <addr>' / 'mailto:addr' wrapper. Reports the canonical address, local part, domain, recognised provider, the stripped sub-address tag (if any), and whether dots were removed. Returns an error for a syntactically invalid address.",
    "parameters": {
      "additionalProperties": false,
      "properties": {
        "email": {
          "description": "The email address to canonicalize (a 'Name <addr>', 'mailto:addr', or angle-bracketed form is accepted and unwrapped).",
          "type": "string"
        },
        "lowercase_local": {
          "default": true,
          "description": "Lowercase the local part (before '@'). Default true — virtually every provider treats the local part case-insensitively. Set false to preserve the original case for a rare case-sensitive server.",
          "type": "boolean"
        }
      },
      "required": [
        "email"
      ],
      "type": "object"
    }
  }
}