Why threads have to be reconstructed
A mailbox is a flat pile of messages. The conversation structure lives in two headers: In-Reply-To, naming the message being answered, and References, carrying the whole chain back to the root. Your mail client rebuilds the tree from those every time it shows you a conversation. Once messages are exported to files, that work has to be done again — and most tools that open an export do not do it at all.
The algorithm
This uses Jamie Zawinski's message-threading algorithm, written for Netscape Mail in 1997 and still the correct answer. One container per Message-ID; each message linked under the chain its References names; empty containers pruned; and only then, optionally, a fallback that matches subject lines.
The subject fallback, and why it is a choice
Some clients strip References when a user replies from a phone, or from a webmail interface that rewrites headers. Those replies arrive with nothing to link them to, and subject matching is the only way to recover them. It also, sometimes, merges two unrelated messages that happen to share a generic subject — twelve separate "Re: meeting" threads becoming one.
So the fallback is a toggle, on by default, and the count of roots it absorbed is shown next to the result. If that number is large and the threads look wrong, turn it off and compare. The fallback only ever merges a root that looks like a reply: two non-replies with the same subject are left apart, because they are far more often two announcements than one conversation.
Missing messages are shown
When every reply in a thread names a message that is not in the files you gave, the algorithm produces a container with no message in it. That is a real result and it is rendered as a gap in the tree with its Message-ID, not hidden. Hiding it would quietly reparent its replies and make the thread look shallower than it was.
Formats
EML, Outlook MSG, and MBOX archives, in any mixture, and the format is detected from the bytes rather than the file name. An MBOX is listed from its headers alone, so a large mailing-list archive threads in well under a second; the full message is parsed only when you open it.
Privacy
Everything runs in your browser. No file is uploaded and no network request is made.
Tiny Online Tools







