Gmail Takeout mbox → CSV / JSON

Paste a Google Takeout Gmail .mbox export and get a tidy table — one row per message with standardized dates, from/to/cc, subject and your Gmail labels. Runs in your browser; nothing is uploaded.

Try:
Message table

About this tool

Google Takeout hands you your Gmail as one big .mbox file — thousands of raw email messages stacked in a single text blob. That's great for backups and terrible for actually reading your mail history. This tool turns that export into a clean table you can open in a spreadsheet: one row per message, with a standardized date, the from / to / cc addresses, the subject, the Gmail labels each message carried, and its message-id.

Paste the contents of an .mbox file (or even a single message), pick CSV or JSON, and you get the table back instantly. CSV opens straight in Excel, Numbers or Google Sheets; JSON is ready for a script or automation. Turn on Include a body snippet column to add a short plain-text preview of each message, and use the snippet length slider to decide how much of the body to keep (set it to 0 for the full body).

Everything runs in your browser — your mail is parsed locally with a pure-Rust email parser and never uploaded anywhere. The Gmail labels are read from the X-Gmail-Labels header that Takeout writes, so the folder/label structure you set up in Gmail survives the export.

FAQ

Where do I get the .mbox file?

Go to Google Takeout (takeout.google.com), select Mail, and export. You get a .zip containing one .mbox file (often named All mail Including Spam and Trash.mbox). Open it in a text editor and paste its contents here — or paste just the portion you want to convert.

Are the Gmail labels kept?

Yes — that's the point. Takeout records each message's labels in an X-Gmail-Labels header, and this tool reads it into a labels column. A message tagged Inbox, Important and Work shows all three, comma-separated, in that column.

What columns does the table have?

date (standardized to ISO-8601 / RFC 3339), from, to, cc, subject, labels, and message_id. If you enable the body snippet, a snippet column is added at the end. CSV output is RFC-4180 quoted, so fields containing commas — like a multi-label list — are safely wrapped in quotes.

Is my email uploaded anywhere?

No. Parsing happens entirely in your browser with WebAssembly. Nothing is sent to a server, so even a private mailbox stays on your machine.

Can it handle my whole multi-gigabyte archive?

This tool takes pasted text, so it's best for a mailbox — or a slice of one — that fits comfortably in browser memory. A full multi-GB Takeout archive is too large to paste; split it or convert the parts you need. Attachment files aren't extracted either — this is a message table tool.

Developer & Automation Access

Run it from the terminal

Same engine as this page, headless — via the gizza CLI:

gizza tool gmail-takeout-parser "From 1521178313854490905@xxx Mon Sep 03 10:00:00 +0000 2018
X-Gmail-Labels: Inbox,Important,Work
From: Alice Example <[email protected]>
To: Bob <[email protected]>
Subject: Project kickoff
Date: Mon, 3 Sep 2018 10:00:00 +0000

Hi Bob, let's start the project on Monday."

New to the CLI? Get gizza →

Open it by URL

Pre-fill and auto-run this tool with query parameters — the names match the API/CLI:

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

Machine-readable descriptor: tool.json — title + parameters JSON Schema for agents.