Years of mail, on your own disk.

How to open a PST file on a Mac

And an OST — without Outlook, and without a converter

A PST is an Outlook data file. macOS has nothing that opens one, Outlook for Mac will not import one, and the search results for this problem are mostly converters that want the file uploaded or the mail re-exported. MailCode reads the file directly: point it at the PST, and every message inside it becomes searchable mail with its folder tree intact.

What a PST actually is

A .pst is a complete mailbox in a single file — folders, messages, attachments, calendar items — in Microsoft's MS-PST format. Outlook for Windows makes them in two situations: when you archive mail off a server to free space, and when you export a mailbox on purpose. They are usually the only copy of whatever is inside them, which is why they are worth opening properly rather than through something that rewrites them.

An .ost is the same on-disk format, holding the cached copy of a server mailbox. MailCode reads those too, as they stand. If the account is still live, copy the OST somewhere else first — Outlook keeps a lock on the one it is using.

Why the Mac cannot open one

MS-PST is an undocumented-by-default, tree-structured binary format that grew across two decades of Outlook versions, with several body encodings and its own compression. Nothing in macOS speaks it. Outlook for Mac deliberately does not import PST — it uses .olm, its own and entirely different format — so even paying for Office does not solve this on a Mac.

That is what leaves people at the converters, and the converters are the part worth avoiding. A tool that uploads the file sends a mailbox you presumably care about to someone else's server. A tool that converts to mbox hands you a format with its own problems. Neither is necessary: the file can simply be read.

Opening one in MailCode

  1. Get the file onto the Mac, or onto a drive it can see. A PST on an external SSD is fine — it is read where it sits.
  2. In MailCode, choose Import → Outlook data file and pick the .pst or .ost. Several files can be queued at once.
  3. Choose a destination folder in the local archive, and leave the folder structure option on.
  4. Let it run. Progress reads out by message, and it can be stopped and restarted.

Nothing is uploaded, nothing phones home, and the PST itself is never modified — it is opened read-only.

What comes across

Re-running an import over the same file is safe. Messages already in the archive are skipped, so a second pass adds what is new instead of doubling what is there — which matters, because a large import is something you will want to stop halfway through at least once.

Large PSTs

PSTs are often enormous, and the naive way to import one is to copy every message and every attachment into a database. A 30 GB PST imported that way produces a database several times larger than the file, and an application that crawls.

So MailCode offers the other mode as the default: the messages are written out as .eml files into a folder you choose, and the archive keeps only the index, reading each body back from its file. The index stays small, search stays fast, and the folder can live on an external drive that you connect when you need it.

Indexed (default)
Small database, fast search, folder must stay reachable. The right answer for a large or archival PST.
Copied into the database
Self-contained, nothing else to keep connected. Fine for a small PST, wrong for a 30 GB one.

Once it is open

The point of opening the file is not to look at it once. Imported mail behaves like every other message in the archive — it answers the same searches, takes flags and due dates, exports back out as .eml if you ever need it elsewhere, and sits in the same list as the mail arriving today.

Search on a real archive of this kind — 285,978 messages, 31.8 GB, 1.2 million attachments — answers in 4–48 ms (median to 95th percentile); the slowest of 22 benchmark queries took 170 ms. A PST is no longer a file you dread opening; it is just more mail you can find things in.

Questions people actually ask

Do I need Outlook installed?
No. MailCode reads the file itself and has no dependency on Outlook or Office.
Does the PST get modified?
No. It is opened read-only, and the import writes elsewhere.
Is anything uploaded?
No. The file is read on your machine. There is no service of ours in the middle and no account to create with us.
Is the file password-protected?
A PST with a password set on it cannot be read until the password is removed in Outlook. That is a property of the file, not a limitation here.
What about calendar and contacts inside the PST?
Mail is what is imported and indexed. Calendar items in the file are not turned into calendar entries.
Can I get the mail back out?
Yes — any message or selection exports as .eml. The archive is not somewhere mail goes in and cannot come out of.
What about .olm from Outlook for Mac?
Not read. Drag the messages from Outlook to a Finder folder to get .eml files, and import those instead. See moving from another mail client.

macOS 12 or later. Free 14-day trial, then a one-time purchase. Point it at the folder you have been avoiding.

© 2026 MailCode. Made in Ankara. MailCode Releases Support Privacy Terms Disclaimer Contact