{
  "slug": "gmail-takeout-parser",
  "name": "gizza-ai/gmail-takeout-parser",
  "version": "0.1.0",
  "title": "Gmail Takeout Parser — mbox to CSV / JSON with Labels — gizza.ai",
  "description": "Turn a Google Takeout Gmail .mbox export into CSV or JSON — one row per message with date, from/to/cc, subject and Gmail labels. In-browser, no upload.",
  "tags": [
    "gmail takeout parser",
    "mbox to csv",
    "mbox to json",
    "gmail labels export",
    "google takeout gmail",
    "mbox converter",
    "email to spreadsheet",
    "x-gmail-labels"
  ],
  "category": "utilities",
  "urls": {
    "page": "https://gizza.ai/tools/gmail-takeout-parser/",
    "markdown": "https://gizza.ai/tools/gmail-takeout-parser/index.md",
    "descriptor": "https://gizza.ai/tools/gmail-takeout-parser/tool.json",
    "deep_link_example": "https://gizza.ai/tools/gmail-takeout-parser/?input=From%201521178313854490905%40xxx%20Mon%20Sep%2003%2010%3A00%3A00%20%2B0000%202018%0AX-Gmail-Labels%3A%20Inbox%2CImportant%2CWork%0AFrom%3A%20Alice%20Example%20%3Calice%40example.com%3E%0ATo%3A%20Bob%20%3Cbob%40example.org%3E%0ASubject%3A%20Project%20kickoff%0ADate%3A%20Mon%2C%203%20Sep%202018%2010%3A00%3A00%20%2B0000%0A%0AHi%20Bob%2C%20let%27s%20start%20the%20project%20on%20Monday.&format=csv&include_body=true&snippet_chars=200"
  },
  "cli": "gizza tool gmail-takeout-parser \"From 1521178313854490905@xxx Mon Sep 03 10:00:00 +0000 2018\nX-Gmail-Labels: Inbox,Important,Work\nFrom: Alice Example <alice@example.com>\nTo: Bob <bob@example.org>\nSubject: Project kickoff\nDate: Mon, 3 Sep 2018 10:00:00 +0000\n\nHi Bob, let's start the project on Monday.\"",
  "tool": {
    "description": "Parse a Google Takeout Gmail mbox export into a clean table of messages, one row per message, as CSV or JSON. Each row has the standardized date (ISO-8601), from, to, cc, subject, the Gmail labels (from the X-Gmail-Labels header), and the message-id; an optional length-capped body snippet column can be added. The mbox is split on `From ` postmark lines and parsed with a pure-Rust RFC 5322 parser — no LLM, no upload, no attachment extraction.",
    "parameters": {
      "additionalProperties": false,
      "properties": {
        "format": {
          "default": "csv",
          "description": "Output format. 'csv' returns an RFC-4180 table (header row + one row per message). 'json' returns an array of message objects. Default 'csv'.",
          "enum": [
            "csv",
            "json"
          ],
          "type": "string"
        },
        "include_body": {
          "default": false,
          "description": "Add a plain-text body snippet column ('snippet'). Off by default to keep the table compact.",
          "type": "boolean"
        },
        "input": {
          "description": "The contents of a Google Takeout Gmail .mbox export (or a single RFC 5322 message). Messages are split on the `From ` postmark lines; each becomes one row with date, from, to, cc, subject, Gmail labels, and message-id columns.",
          "type": "string"
        },
        "snippet_chars": {
          "default": 200,
          "description": "Maximum characters kept in the body snippet when include_body is on. 0 means the full body (no cap). Default 200.",
          "maximum": 2000,
          "minimum": 0,
          "type": "integer"
        }
      },
      "required": [
        "input"
      ],
      "type": "object"
    }
  }
}