MSG to Markdown: Make an Outlook Thread Legible to a Model
A forty-message thread about a contract renewal contains the whole decision — who proposed what, who pushed back, when the terms actually changed. It's also almost unreadable, because every reply carries a copy of everything before it, wrapped in quoting markers that three different email clients disagree about. Paste that into a chat window and you get a wall of grey text where the same paragraph appears eleven times.
Converting MSG to Markdown is about giving that mess a shape. Headers become a labelled
block at the top, so from, to, cc, subject and sent date are unambiguous facts rather than something the
model has to guess from context. The body keeps its paragraphs and lists. Quoted replies stay visibly
nested instead of flattening into the surrounding prose. The result is a document where "who said what,
and when" is answerable. Drop a .msg file into the converter above — free, no sign-up,
50 MB limit.
What a .msg File Actually Is
Most people meet .msg by accident. Someone drags an email out of Outlook onto their desktop
and sends you the resulting file, or they use File > Save As and pick "Outlook Message Format". Either
way you end up with a single file holding a single email.
Under the hood it's not text. A .msg is a compound binary file — the same OLE structured
storage container Microsoft used for old .doc and .xls files, a miniature
filesystem with directories and streams inside one file. Each piece of the email lives in its own stream
named after a MAPI property tag: subject in one, body in another, each recipient in its own numbered
storage, each attachment in another. Opening it in a text editor gets you a screen of binary noise with
a few recognisable words floating in it.
The open equivalent is .eml, which is just an RFC 5322 message — headers, a blank line, then
the MIME body — and which you can genuinely read in Notepad. Thunderbird, Apple Mail, and most webmail
exports produce .eml. Outlook produces .msg. That difference is why so many
people end up searching for how to open a .msg file without Outlook: the file is fine,
you just don't have the one application that treats it as native. Converting it is the shortest route
to reading it, and you get something you can search and paste as a bonus.
What the Conversion Surfaces
Three layers come across, and it's worth knowing which is which before you start prompting against them.
- Headers. From, to, cc, subject, and the sent date, rendered as a labelled block
rather than buried in prose. This is the part Markdown does noticeably better than flat text — a
model reading
**From:** Priya Ramanknows that's metadata, not a sentence someone wrote. - The body. The message itself. If the sender wrote in HTML — which is most business email — headings, bold, bullet lists, and hyperlinks map onto their Markdown equivalents. If they wrote in plain text, you get the paragraphs as typed, which is cleaner but flatter.
- The quoted chain. Everything below the "On Tuesday, X wrote:" line. It stays, indented and set apart, because in a negotiation the chain often matters more than the top message.
Files are converted and handed back, not stored. Email is frequently personal or commercially sensitive, so apply whatever rules your organisation has about handling correspondence before you upload work mail.
The Reply-Chain Repetition Problem
This is the quirk that catches everyone, and it's worth understanding rather than working around blindly.
Email replies are cumulative. Message twelve in a thread contains messages one through eleven inside it. So if you export several messages from the same conversation and convert them all, you're not converting twelve messages — you're converting roughly seventy-eight message-copies, because each one drags its ancestors along. The first message in a long thread can end up in your output a dozen times over.
Now add signature blocks. Every message repeats the sender's name, title, phone number, and office address. Add the corporate legal disclaimer — the "this email and any attachments are confidential" paragraph — which many organisations append automatically to every outbound message, including replies. In a long thread that boilerplate can genuinely outweigh the actual content.
Two practical responses. First, if you only want the thread's full history, convert the single most recent message — it already contains everything. Converting the whole folder mostly buys you duplication. Second, check the token counter under the output before you paste anywhere. A thread that looks like a few pages on screen can be startlingly expensive once you count the repeats, and seeing the number beforehand beats discovering it from a truncation error.
Where the Structure Pays Off
Markdown is the right choice here whenever you care about attribution and sequence — which is most of the time with email:
- Reconstructing a decision trail. "When did we agree to the 60-day payment term, and who signed off?" A model can answer that from a structured thread with dated headers. From flattened prose it will hedge, or worse, confidently attribute a line to the wrong person.
- Summarising a negotiation. Positions move over time. Legible quoting levels let a model see that paragraph three of message nine is a quote of message four, not a fresh statement.
- Pulling out action items. Bullet lists survive as bullet lists, so the "next steps" block someone typed in message six comes out as a list rather than a run-on sentence.
- Handover documents. Convert the thread, keep the Markdown next to the project notes, and the person picking it up in six months has the reasoning rather than just the outcome.
- Preparing correspondence for review. Legal, HR, and compliance reviewers want the sender, recipient list, and timestamp visible at a glance. A labelled header block gives them that without opening a mail client.
If none of that applies — you're indexing thousands of messages for search, or embedding them — the markup is overhead you don't need, and MSG to plain text is the better call. The format toggle at the top of this page switches between the two and carries your selected file across, so comparing costs one click rather than a re-upload.
Attachments, and Doing a Whole Thread at Once
A .msg can carry attachments inside it — that's part of what the compound file format is for.
What comes out of the converter is the message content: headers, body, quoted chain. The attached
contract PDF or budget spreadsheet isn't separately extracted, so if you need its contents too, save it
out of the email and convert it as its own file. That's a two-minute job with
PDF to Markdown for documents,
Word to Markdown for DOCX, or
Excel to Markdown for
spreadsheets, where table structure actually survives.
Inline images are a related gotcha. Screenshots pasted into an email body are pictures, and there's no OCR here, so a message whose entire point was a screenshot of an error will convert to almost nothing. Nothing's broken — there was never any text to extract.
For more than one or two messages, bundle them. Select the .msg files, compress them into a
single archive, and run it through
ZIP to Markdown — every
supported file inside gets converted in one upload. That's the natural move when you've dragged a whole
Outlook folder out to disk and want the correspondence as one readable document.
Frequently Asked Questions
How do I convert an Outlook .msg file to Markdown?
Upload the message above and it comes back as Markdown — headers as a labelled block, the body below with its formatting preserved where it maps. Free, 50 MB per file, no account needed, and no Outlook install required to read the file.
Why Markdown rather than plain text for an email?
Because an email has parts, and Markdown keeps them apart. Sender, recipients, subject and date sit in a clearly delimited block above the body instead of running into the first paragraph. Quoted reply chains stay recognisable as quotes. For pasting a message into a ticket or a document, that separation is the whole value — otherwise plain text is simpler.
Do quoted reply chains stay readable?
Usually. A long thread converts as nested blockquote levels, so you can see which reply sat inside which. The limit is that reply chains are formatted by whichever client wrote them and there is no standard — a thread that has passed through Outlook, Gmail and a phone client three times will convert into something structurally honest and visually messy.
Does HTML-formatted email convert better than plain?
It has more to work with. An HTML body carries real markup — headings, lists, links, tables — and those map into Markdown directly. A plain text email has only line breaks and convention, so the output is close to what you started with. Marketing emails full of layout tables are the worst case and convert into something not worth reading.
Can I use this to archive messages into a repo or wiki?
That is a reasonable use — Markdown is durable, diffable, greppable and readable without any mail client, which is more than can be said for a folder of .msg files. Convert the messages, commit the output, and the thread is still searchable in ten years. Attachments will need saving separately.
The Rest of the Toolkit
MSG is one of the formats handled by File2Txt, which takes any supported file from a single upload if you'd rather not pick a page. For web content, Web2Txt scrapes a URL into Markdown — useful when a thread keeps referencing a spec that lives online. On the code side you can convert a GitHub repository to text or a folder on your machine, then hand a model the email thread and the implementation together. The guide to preparing documents for LLMs covers the general argument behind all of this.
Repo2Txt is built and maintained by v12hero, an independent developer building privacy-first native and web apps.