Convert an .olm archive to CSV
Sometimes the question is not "what did the message say" but "how many, from whom, between which dates". A spreadsheet answers that in a pivot table. This turns the archive into one CSV with a row per message, which opens in Excel, Numbers or Google Sheets and sorts, filters and counts like any other data.
The file you get
One .csv, UTF-8 with a byte-order mark so accents and non-Latin names survive a double-click into Excel. Columns: folder, date_utc, date_local, from_name, from_address, to, cc, subject, body_preview, has_attachments, attachment_names, message_id, source_path.
Steps
- Get the .olm out of Outlook for Mac first: Tools tab → Export, tick what you want, Continue, save the file. If Export is greyed out you are in the new Outlook; switch the New Outlook toggle off, top right, and it comes back.
- Drop the
.olmon this page. It is read by JavaScript in your browser tab; the file never leaves your machine. - Pick the folders and, if you want, a date range.
- Download the CSV and open it in Excel, Numbers or Google Sheets.
- For counts by correspondent, make a pivot table on
from_addresswith a count ofsubject.
What carries over
- One row per message, in date order, across every folder you selected
- Sender name and address in separate columns, so you can group by address
- Recipients and Cc, semicolon-separated in one cell each
- The folder each message lived in
- Attachment names and a yes/no column for filtering
source_path, the message's location inside the archive, for anyone who has to trace a row back
Good to know
body_previewis the first 500 characters of the plain-text body, not the whole message. Spreadsheets choke on long cells, and Excel truncates at 32,767 characters anyway. Use the HTML or EML export when you need the full text.date_utcis the archive's own timestamp;date_localis that instant in your computer's time zone. If two people compare spreadsheets, compare the UTC column.- Excel likes to reformat anything that resembles a date. If a column looks wrong, import rather than double-click: Data → From Text/CSV, and set the date columns to Text.
- Microsoft has never published the
.olmformat. Mail, attachments, contacts and calendar entries are read from the XML Outlook writes; unusual items (notes, tasks, journal entries) are skipped in this version.
Questions
Does the CSV contain the email bodies?
A 500-character preview per message. Full bodies belong in the HTML archive or the EML export; a spreadsheet with whole emails in it is unusable in practice.
Can I get a list of everyone I exchanged mail with?
Yes: pivot on
from_address, or filter the to column. The contacts stored in the archive are a separate export, the .vcf one.Why are accents mangled in Excel?
They should not be, the file is UTF-8 with a byte-order mark, which is what Excel needs. If you opened it through an import wizard, set the file origin to UTF-8 there.
Can I filter to one year before exporting?
Yes, set the date range after the archive loads; only matching messages are written.