creatorvalet

How to open a .msg file

A .msg is Outlook's own record of a message, not an email file. How to read one — sender, body and attachments — with no Outlook installed.

Updated 2026-08-09

Almost every answer to this begins the same way: double-click it, and Outlook opens it.

That is true, and it is beside the point. Nobody with Outlook on their machine goes looking for instructions — the file already opened. The person asking is on a Mac, or a Chromebook, or a work laptop where installing anything means a ticket and three days, and a colleague has just forwarded them something as an attachment that their computer flatly refuses to recognize.

So this is written for that case. If you want to read the thing right now, the MSG viewer lays it out — sender, recipients, date, body, attachments — inside the browser tab you already have open.

What a .msg file is, and why nothing else opens it

A .msg is not an email. That sounds like hair-splitting and it explains everything that follows.

An email in transit is plain text: a block of headers, a blank line, then the message. Saved to disk that becomes an .eml file, and a text editor will show you the whole thing. Apple Mail, Thunderbird and most webmail clients produce those.

Outlook produces something different. A .msg is Outlook’s internal record of a message, serialized to disk — and the container it uses is the one Microsoft built for Word and Excel documents in the mid-nineties. Open the first eight bytes of a .msg and a .doc from 1998 and they are identical: D0 CF 11 E0 A1 B1 1A E1. Inside that single file sits a miniature file system, with a sector allocation table and a directory of named streams, working the same way a floppy disk did.

Every field of the message lives in that directory under a number rather than a name:

Field Stored under
Subject 0x0037
Sender’s display name 0x0C1A
Sender’s address 0x0C1F, or 0x5D01 for the SMTP one
Plain-text body 0x1000
HTML body 0x1013
Attachment file name 0x3707

Nowhere in the file does the word “Subject” appear. That is why dragging one into a text editor gives you binary noise with fragments of your message scattered through it, and why a program that reads ordinary mail files declines this one rather than half-reading it.

What each platform actually does

Windows without Outlook. Nothing is registered for the extension, so double-clicking produces the “How do you want to open this file?” dialog and none of the offered programs help. Notepad will open it and show you the noise described above. Windows has no built-in reader for the format.

macOS. Mail does not accept .msg; it wants .eml. Quick Look shows a generic icon rather than a preview. TextEdit opens it as garbage. Outlook for Mac reads them, if you have it — and Outlook for Mac exports messages as .eml rather than .msg, which is a common source of confusion when two people on the same team compare files.

iPhone and Android. The attachment previewer declines it. Some third-party mail apps on Android read the format; iOS generally does not without an app from the store.

Gmail and the web. Gmail will show you that an attachment named something.msg exists and will let you download it, and that is the end of Gmail’s involvement. Google Docs does not open the format either, despite the shared lineage with .doc.

Any of the above, with a browser. This is the route that needs no install and no administrator: hand the file to a page that reads it locally. That is what the MSG viewer does — the file is parsed by the tab, not sent to a server, which on a work machine is the difference between reading an internal email and forwarding it to a company you have never heard of.

The message looks empty. It probably is not.

Three failures produce a blank or wrong-looking message, and a viewer that stays quiet about them is worse than one that refuses the file.

Only an RTF body. Outlook has supported three body formats since the nineties: plain text, HTML, and Rich Text. The Rich Text one is stored compressed, using a scheme of Microsoft’s own, and plenty of readers skip it. If a message was sent in Rich Text format — still common in older corporate mail — the plain and HTML fields may both be absent, and a reader that only checks those two shows you an empty message that is not empty. The honest behavior is to say an RTF body is present and how large it is. If you must recover the text, forwarding the message to yourself from any account that has Outlook converts it on the way out.

Only an HTML body, or only a plain one. The two are not required to match, and when both exist they often differ: the HTML is what the sender composed, and the plain-text version is what Outlook generated from it. A quoted reply chain sometimes survives in one and not the other, so if part of a thread appears to be missing, check the other body before concluding it was deleted.

Winmail.dat, which is the same problem wearing a different hat. If what actually arrived is called winmail.dat rather than .msg, the sending Outlook wrapped the message and its attachments in a Microsoft-only envelope that the receiving mail system did not unpack. It is a related format and a different file; a .msg reader will not open it.

Why there is a name but no email address

This one surprises people, and the file is not at fault.

Inside a company running Exchange, staff are identified by a directory path rather than an address — a long string beginning /o= that winds through administrative groups down to a login name. For a message that never left the organization, an SMTP address may never have been recorded at all. So a perfectly intact .msg can show “Ada Öberg” with nothing that looks like an address anywhere near it.

A reader has two options. It can print the directory path as the strange thing it is, or it can dress it up and let you believe you have an address you could reply to. The first is correct. If you need the addresses that genuinely are in the message — buried in a forwarded chain, or in a signature block — get the body on screen first and run it through the email extractor, which pulls them out and deduplicates them.

Two more things that quietly go wrong

Character sets. Each text field in a .msg is tagged as either sixteen-bit or eight-bit, and for the eight-bit case the character set is recorded in a different part of the file entirely. A reader that guesses turns an intact German, Polish or Japanese message into rubbish — and the damage looks like it was in the file already. It is the same failure that wrecks imported contact files, described in more detail in how to open a VCF file, and it has the same fix: read the declaration instead of guessing.

Time zones. Timestamps inside the file are UTC. Outlook renders them in the reader’s own zone. The same message therefore legitimately shows two different clock times on two different desks, and a colleague who insists it arrived an hour earlier is right about their own screen. Any tool that shows you a single time without saying which zone it is in has handed you an argument waiting to happen.

Should you upload it to an online viewer?

Several sites will read a .msg for you if you upload it, and for a party invitation from your sister that is a perfectly ordinary thing to do.

It is worth stopping to think when the message is work. A .msg is nearly always internal correspondence — a thread with a customer, an HR matter, a contract negotiation, an attachment nobody outside the company was meant to see. Uploading it means a copy exists on somebody else’s disk, under a retention policy you have not read, and that decision is usually larger than the one you thought you were making, which was simply I want to see what this says.

The alternative is not to trust a promise but to check one. A page that parses the file in your browser makes no network request carrying it, and you can watch that be true: open the developer tools, switch to the network panel, hand over the file, and see that nothing goes out. Or load the page, turn off your network entirely, and carry on working — a tool that runs locally does not notice. Verifying that for yourself takes about a minute and works on any site making the claim, ours included.

What you can get out of a .msg once it is open

Everything the file holds, which is often more than the mail client showed the person who saved it: the sender and their address if one was recorded, the To and Cc lists, both sent and received timestamps, the subject, whichever bodies exist, and every attachment with its name, size and type. When the message traveled over the internet the full header chain is usually preserved too, which is the part you want if the real question is where something came from.

Attachments come back as the exact bytes that went in, so a PDF stays a valid PDF — and if that PDF turns out to be the thing you actually needed to read, PDF to text handles it in the same tab and under the same terms. One case is worth knowing about: a message forwarded as an attachment is stored as a whole message inside the message, not as a file, so there is nothing to save — you read it where it sits.