creatorvalet

MSG Viewer

Read the message somebody sent you as a .msg — sender, date, body and attachments — on a machine that has never had Outlook on it.

Runs in your browser 0 bytes uploaded

Drop a .msg file here to read it

Read here in the tab, never sent anywhere. A .msg is usually internal correspondence, and handing it to a stranger’s server is a bigger decision than opening an attachment.

No paste box, deliberately: a .msg is binary and never lands in your clipboard. Drawing a text area for it would promise a way in that does not exist.

What this MSG viewer shows you, and on which machine

Somebody forwards you an email as an attachment, it lands on your desk called RE_ contract.msg, and your computer has no idea what to do with it. If Microsoft Outlook happens to be installed, double-clicking works and you would not be reading this. The interesting case is the other one, and it is the common one: a Mac, a Chromebook, a locked-down work laptop where installing software needs a ticket and three days.

Drop the file on the box above and it is read where it sits. Who sent it, who it went to, when it was sent, the subject, the body, and the attachments listed — every one of them that is genuinely a file gets a download of its own, and the ones that are not say so. Nothing is installed and nothing is transmitted — which matters here more than for most formats, because a message saved out of a mailbox is normally internal correspondence that was never meant to travel any further than it already has.

If the underlying question is a broader one — which programs claim the extension, what Windows and macOS each do with it, and why a colleague’s copy opens when yours does not — how to open a .msg file works through the platforms one at a time.

What a .msg file actually is

Not an email. An email in transit is plain text with a header block on top — that is what a .eml file holds, and any text editor will show it to you. A .msg is something else entirely: it is Outlook’s own internal record of a message, serialized into the container that carried Word and Excel documents through the nineteen-nineties. Underneath the single file sits a small file system of its own: a sector table, a directory, and streams addressed the way a floppy disk addressed them.

Inside that directory, every field of the message is stored under a number rather than a name. The subject is not filed under “subject” — it lives under 0x0037. The sender’s display name is 0x0C1A, the body 0x1000, the HTML body 0x1013. Open one in a text editor and the result is mostly binary, with recognizable scraps of what you were sent drifting through it — which is also why so many programs that happily read ordinary mail files decline this one outright.

One consequence is reported here rather than hidden. Every text field carries a code for how wide its characters are, and when they are narrow ones the alphabet they belong to is declared in a different corner of the file altogether. Guess at that and an undamaged German or Japanese message returns as rubbish — the same failure the VCF file viewer exists to prevent in contact files, for the same underlying reason. The panel at the top of this page names the code page it used, so you can see the decision rather than trust it.

What the page can show you, and what it cannot

It shows the sender, the recipients split into To and Cc, the sent and received timestamps, the subject, the body in whichever forms the file holds it, and the full attachment list with sizes and types. It also shows the internet headers when they were preserved, which is what you want if the question is where a message really came from.

Three things it will not do, each for a reason worth stating. It does not decode the RTF body, which older Outlook versions wrote using a compression scheme of Microsoft’s own; when that is the only body present the page says so and gives its size, because a message that is quietly displayed as empty is worse than one honestly described as unreadable. It does not render the HTML body as a web page, only as source with the tags left in — a message came from somebody else, and letting an attachment decide what your browser draws, or letting an image address inside it announce to a stranger’s server that you just opened this message, is not a trade worth making for prettier output. And it does not open the contents of encrypted or digitally signed payloads; the attachment is listed, its contents stay closed.

Why there is often a name but no email address

Nearly everyone reads this as damage, and nothing is damaged. Exchange labels the staff of a company by directory position instead of by mailbox — a lengthy value opening with /o= that descends through administrative groups until it reaches a login. On mail that stayed inside the organization, a real SMTP address may simply never have been committed to the file. Where one exists it appears; where only the directory value exists, it appears as itself and is not dressed up into something you could reply to.

The same message may also have no internet headers, for the same reason: there was no journey between mail servers to record. If your goal is to harvest the addresses that are there, out of a long thread or a forwarded chain, paste the body into the email extractor once you have it on screen.

About the timestamps

Times inside a .msg are held in UTC, and Outlook converts them for whichever zone the reader sits in. One message can therefore be labeled nine in the morning on your screen and eleven on somebody else’s, with both screens correct. This page prints the UTC value with the letters UTC after it and your own rendering below it, so a disagreement about when something arrived has an explanation rather than a suspect.

Nothing leaves your browser, and you can check

There is no upload endpoint. The file is read by the page you already have, using the same machinery that lets a browser open any file you point it at, and no request carrying its contents exists to be made. This is the whole argument for reading a message here rather than pasting it into a conversion service: an internal email is somebody else’s business, often several people’s, and forwarding it to an unfamiliar server to find out what it says is a larger decision than it looks.

You do not have to take that on faith, and you should not. Open your browser’s network panel, hand over the file, and watch nothing go out. Or go further: load this page, disconnect from the network entirely, and carry on working. The guide to checking a tool for yourself walks through both in about a minute. Should the message turn out to have carried a PDF you also cannot open, PDF to text handles that one locally too.

Sizes, and why nothing is refused

A message with a deck attached runs to tens of megabytes, and that is an ordinary thing for a .msg to be. There is no ceiling here, because there is no server to protect: a large file earns a plain warning about what it will cost your own machine before any work begins, and then it is opened anyway. Attachment contents are not touched until you actually ask to save one, so listing what a heavy message contains is cheap even when extracting from it is not.

Questions

How do I open a .msg file without Outlook?

Hand the file to the box above and it is laid out as a message: sender, recipients, the date it was sent, the subject, the body, and every attachment with its own download. Nothing installs and nothing is transmitted, which is the part that matters on a work machine where you can do neither. The format is Outlook's own — it is not an email as it traveled, but Outlook's internal record of one — so a program that reads ordinary .eml files will usually refuse it.

What is a .msg file?

It is a single message saved out of Outlook, and underneath it is a small file system rather than text: a directory of streams inside one file, using the same container Word and Excel used for .doc and .xls. Every field is stored under a number rather than a name — the subject lives under 0x0037, the sender under 0x0C1A — which is why opening one in a text editor shows mostly binary noise with fragments of your message scattered through it.

Can I save the attachments out of a .msg file?

Yes. Each attachment is listed with its name, its size and its type, and each has a download button of its own — the bytes are pulled straight out of the file unchanged, so a PDF stays a valid PDF. Attachments that are not really files get labeled instead of pretended: a forwarded message stored inside the message is shown as the message it is, and a signed or encrypted payload is listed without its contents being opened.

Why does the message look empty when I know it had text?

Almost certainly because the only body in the file is the RTF one, which older Outlook versions wrote and which is compressed with a Microsoft scheme this page does not decode. Rather than show you an empty message, the page says an RTF body is present and how many bytes it runs to. A second cause is a message that carries only an HTML body while a viewer looks for the plain-text one, and here both are read and you can switch between them whenever both exist.

Why is there a name but no email address?

Because for internal mail there often is none in the file. Inside a company, Exchange identifies people by a directory path rather than an address — a long string beginning with /o= — and the actual address may never be written down. That string is shown as what it is instead of being dressed up as an email address you could reply to. When the file does carry an SMTP address, it is displayed.

Does the time shown match what Outlook shows?

Not necessarily, and the difference is not an error. Timestamps inside the file are stored in UTC, and Outlook renders them in whatever time zone the reader is in — so the same message legitimately shows two different clock times. Both are given here, with the UTC value spelled out, so that a mismatch with a colleague's screen has an explanation rather than casting doubt on the file.

Is the file uploaded anywhere?

No. It is read inside this tab and no endpoint exists that would accept it, which is the whole reason this page is worth using instead of a converter site: a .msg is usually internal correspondence that was never meant to leave the company, and handing it to a stranger's server is a bigger decision than opening an attachment. Open your browser's Network panel before you drop the file and watch nothing go out, or load the page, disconnect from the network, and carry on working.