You have an .mbox file — from Google Takeout, a Thunderbird profile, an Apple Mail export, or
a departed employee's archived mailbox — and you need to know what's in it: how many messages,
from whom, when, with which attachments. Importing the whole thing into a mail client just to
find out is slow and heavy. Here's the faster way: turn the mailbox into a CSV index you can
sort and filter in Excel or Google Sheets.
First, get your .mbox file
If you already have one, skip ahead. If you're starting from Gmail:
- Go to takeout.google.com, click Deselect all, then check only Mail.
- Optionally click "All Mail data included" to narrow the export to specific labels — otherwise you get everything, spam and trash included.
- Export, wait for the email from Google, and download the archive. Inside the .zip you'll find
one or more
.mboxfiles (typicallyAll mail Including Spam and Trash.mbox).
Thunderbird users: your folders already are mbox files, sitting extension-less in your profile directory (an add-on like ImportExportTools NG exports them cleanly). Apple Mail: select a mailbox and use Mailbox → Export Mailbox….
Why you can't just open .mbox in Excel
An MBOX file isn't rows and columns — it's every raw message in the folder concatenated
together, each starting with a From separator line, followed by headers, MIME part
boundaries, and base64-encoded attachments. Renaming it to .csv just dumps that wall of text
into column A. And the parts you actually want are booby-trapped for naive scripts: header lines
fold across multiple physical lines, quoted >From lines inside bodies look almost like
message boundaries, and international subjects are encoded as =?UTF-8?B?...?= gibberish. (For
a tour of what's inside the format, see
What is an MBOX file?)
Convert MBOX to CSV in your browser
The free MBOX to CSV converter on LegacyFile handles all of that:
- Drop your .mbox file into the converter (
.mbxand.txtextensions work too). Parsing happens entirely on your device — your email is never uploaded anywhere, which matters more for a mailbox than for almost any other file you own. - It splits the mailbox on real From_ separators, treating quoted
>Frombody lines as the body text they are instead of falsely starting a new message there. - It decodes the headers — folded lines are rejoined, and RFC 2047 encoded-words in
subjects and names are decoded from both their base64 (
?B?) and quoted-printable (?Q?) forms, so you see "Résumé adjunto 🎉" instead of the raw encoding. - Check the summary — total messages, date range, unique senders, and how many messages carry attachments — then preview the full index free.
- Export CSV, XLSX, or JSON. The spreadsheet opens directly in Excel, Google Sheets, or Numbers.
What ends up in each column
One row per message:
| Column | What it holds |
| ------------------------------ | ---------------------------------------------------------------------- |
| Date | The Date header, normalized to YYYY-MM-DD HH:MM (UTC) when it parses |
| From / To / Cc | Sender and recipients, with encoded names decoded |
| Subject | Decoded subject line |
| Message-ID | The unique ID reply chains and dedupe scripts key on |
| Attachments / Attachment Names | Count of attachment parts, and their filename= values |
| Size (KB) | Size of each raw message block inside the mailbox |
Note what's not there: message bodies. This is deliberate — the output is an index of the mailbox, not a full export. Bodies are multi-part MIME soup (HTML plus base64 attachments) that would make the CSV unusable in a spreadsheet, and they stay safely in your .mbox file. The index is the thing a spreadsheet is actually good at: sort by sender to see who fills your archive, filter a date range for a records request, or search attachment names for that one invoice.
When something looks off
The converter never fails silently. An unparseable date (some ancient mailers wrote whatever
they liked in the Date header) is kept as raw text and flagged in a warnings list; a subject in
a character set the converter doesn't decode (KOI8-R, say) passes through as-is with a warning
instead of being mangled into mojibake. If the file has no From_ separators at all, you'll get a
clear error — a single-message .eml file or an Outlook .pst archive is a different format,
not a broken mbox.