Skip to main content
OLMExport

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

  1. 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.
  2. Drop the .olm on this page. It is read by JavaScript in your browser tab; the file never leaves your machine.
  3. Pick the folders and, if you want, a date range.
  4. Download the CSV and open it in Excel, Numbers or Google Sheets.
  5. For counts by correspondent, make a pivot table on from_address with a count of subject.

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_preview is 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_utc is the archive's own timestamp; date_local is 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 .olm format. 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.