Email2 min read

How to Convert OLM to JSON

Parse an Outlook for Mac .olm archive into a JSON array of emails with folder, headers, recipients, bodies and attachment details. No parser to write.

By the ZapMorph team

OLMJSON
On this page
  1. What the JSON looks like
  2. How to convert OLM to JSON with ZapMorph
  3. What people use it for
  4. Tips
  5. Troubleshooting
  6. Summary
  7. FAQs

Just want it done?

Open the OLM to JSON Converter — it runs in your browser and nothing is uploaded.

Open the tool

OLM files are ZIP archives full of Microsoft-specific XML, with one file per message, HTML that's often entity-encoded more than once, and addresses stored as attributes. Writing a parser is a weekend project you probably don't want. Converting to JSON gives you clean, structured data straight away.

What the JSON looks like

The output is one array, one object per email:

[
  {
    "folder": "Inbox/Clients",
    "subject": "Revised quote",
    "from": [{ "name": "Priya Shah", "address": "priya@example.com" }],
    "to": [{ "name": "Sam Lee", "address": "sam@example.com" }],
    "cc": [],
    "date": "2021-03-12T09:14:00.000Z",
    "text": "Hi Sam, attached is the revised quote…",
    "html": "<p>Hi Sam, attached is the revised quote…</p>",
    "attachments": [{ "name": "quote-v2.pdf", "type": "application/pdf", "size": 86016 }]
  }
]
  • text is always filled in. If an email only has HTML, a clean text version is generated.
  • html is null for plain-text emails.
  • folder keeps the Outlook folder path, so you can group or filter by it.

How to convert OLM to JSON with ZapMorph

1. Open the converter

Go to the OLM to JSON converter.

OLM to JSON converter
The OLM to JSON converter

2. Add the OLM

Drop in the .olm file. It's processed locally, which matters if the archive contains client or employee data.

An OLM archive added
Archive ready

3. Convert and download

Click Convert to JSON.

JSON ready to download
Structured email data

What people use it for

  • E-discovery and audits: load every email into a script and filter by sender, date range or keyword.
  • Analytics: count emails per correspondent or per month with a few lines of Python or JavaScript.
  • Migration: push messages into a CRM, help desk or database through its API.
  • AI and search: chunk the text field into a vector database for question-answering over an old mailbox.

A quick start in Python:

import json
from collections import Counter

emails = json.load(open("archive.json", encoding="utf-8"))
senders = Counter(e["from"][0]["address"] for e in emails if e["from"])
print(senders.most_common(10))

Tips

  • Explore it first in the JSON viewer. Collapsible nodes make large files easy to skim.
  • Need a spreadsheet instead? OLM to CSV gives one row per email.
  • Big archive? Use a streaming parser (such as ijson in Python) rather than loading everything into memory at once.

Troubleshooting

"No emails were found." The export probably contains only contacts or calendar items. Re-export from Outlook for Mac with Mail ticked.

Some from arrays are empty. A few system messages and drafts have no sender recorded. Guard for it in your code, as the example above does.

Summary

The OLM to JSON converter skips the parsing work and gives you an Outlook for Mac archive as clean, structured JSON.

FAQs

What fields does each email have?

folder, subject, from, to, cc, date, text, html and attachments (name, type, size).

Is the OLM format documented?

Not publicly in detail. OLM is a ZIP-based archive with Microsoft's own XML layout. The converter handles it, so you don't have to.

What format are dates in?

ISO 8601 in UTC, for example 2021-03-12T09:14:00.000Z, which every language can parse.

Are attachment contents included?

No, only their name, MIME type and size in bytes, so the file stays a manageable size. Use OLM to EML if you need the files themselves.

Is the archive uploaded?

No. Parsing happens in your browser. Nothing is sent to a server.

Try the OLM to JSON Converter

Free to start, no install, and your files never leave your device.

Open the tool

Related guides

All guides