Open-source project
eneam/mboxviewer avatar
eneam/mboxviewer

MBox Viewer: reading a mail archive on your own machine

A small but powerfull app for viewing MBOX files

589 stars41 forksC++NOASSERTION

At a glance

What is it?
MBox Viewer is a Windows desktop application for opening mbox archives, Thunderbird exports, Gmail archives, EML files and Outlook MSG files, and its central design decision is that nothing leaves the machine: the parsing, the index and the search all happen locally.
Who is it for?
MBox Viewer fits a Windows user who has a mail archive, from a Thunderbird export, a Google mail archive, a backup taken years ago, and wants to read it without uploading it to a conversion service, because the parsing, the index and the search all run locally and the project states that the user's data remains private.
Can I use it commercially?
Check first. The repository uses a licence we do not classify automatically, so read its LICENSE file before any commercial use.
Is it still maintained?
Yes. The repository last received commits 47 days ago.
What is it written in?
Mainly C++, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.

Editorial analysis

The premise: your mail stays on your machine

MBox Viewer is a simple but capable viewer for mbox files such as Thunderbird archives, Google mail archives, simple EML files and Outlook MSG files, and the privacy statement is the first thing the project says. Users' data remains private and users' emails are processed entirely on the local machine. For a tool that handles a decade of correspondence, that is the property that matters most, and it is a design constraint rather than a promise, since the parsing, the indexing and the searching are all local operations. The repository is a C++ project with a Visual Studio solution, project files for mboxview and a helper called cfbfinfo, plus directories for the language resources, the help files, the Winmail2Eml converter and the third party code, and the last push to the repository was on 2026-09-06 with release v1.0.3.59 on 2026-09-05.

The supported formats, and the one that is not a format

The formats the viewer handles are listed in the description, and they come from different worlds. Thunderbird exported mail files are supported, as are Gmail Labels, which is a Gmail export rather than an mbox. Outlook .msg mail files are supported too, and winmail.dat and .ms-tnef attachments and files are handled. The last of these is the interesting one, because winmail.dat is the container Outlook used for rich message content and the TNEF encoding that goes with it, and supporting it means the viewer can show attachments that a plain mbox reader would show as a blob. The features list also covers export of a single mail in EML, export of all mails to separate EML files, and export of all attachments, so the tool works as a converter as well as a reader. The distribution channel is SourceForge, where a download badge points at the latest files, and the project describes itself as free software.

Parsing once, then reading from an index

The performance story is a two-phase design, and the project describes it in detail. Parsing of very large archive files may take some time, since the mail archives are text files and every character has to be examined one by one. However, subsequent loading of mails is done from the index file created during the initial parsing, and is much faster. That index file contains content metadata for each mail in the archive, that is the mail header information and the position of each mail within the mail file, for quick access to the message body. The index files have the .mboxview extension. So the tool is a one-time cost followed by fast reads, and the first run over a multi-gigabyte archive is where you wait. The feature list calls out large file support above 4Gb and fast parsing of mbox as two separate items, which is a reasonable way to signal that neither is an afterthought.

Finding things, and finding the absence of things

The search features are more thorough than a plain text filter. You can search mails by a user defined date range and by text in the subject, sender, recipient, cc, bcc, message text, attachment text and attachment names, and you can find user defined text inside a message and highlight all occurrences. There is also a search for mails that did not match the criteria you specified, which is the inverted query that turns a filter into an exclusion list. On top of that the tool sorts emails by date, from, to, subject and conversation columns, groups all related mails as conversations in the summary window, and can open a single mail, several selected mails, or a whole group of related mails in an external browser. It can also compose a mail list from single or multiple search results and archive it if desired, and forward mails directly from the viewer.

The output formats, from CSV to a PDF printer

What you do with a result is the other half of the tool. You can print all mails or multiple selected mails to a CSV, Text, HTML or PDF file, and print a single mail to Text, HTML or PDF, or send it to a PDF printer. You can print related mails or a mail group to the same set of formats. The project also lets you customise the background colour of key display panes, customise the HTML and PDF mail header output, set the Message Window position to Bottom, Right or Left, and configure the font size of the interface objects. There is a view raw mail header option. Support for header fields and body text encoded with any Windows supported character sets or page codes is listed too.

Configuration, and the file format it uses

MBox Viewer supports both Windows Registry based and file based configuration, with the registry used by default. At startup it checks whether the MBoxViewer.config file exists and is writeable, in the Config subfolder under the installation directory or in the UMBoxViewer Config subfolder under the user specific folder that Windows creates, with the example given as a path under AppData Local. The config file format resembles a.reg registry file.

code
[UMBoxViewer\LastSelection]
"parameter"="value"

White spaces are not allowed at the front of each line or around the equals sign, all parameter values are encoded as strings and converted by the viewer to numbers or other types when needed, and the file must be encoded as UTF16LE with a byte order mark. A sample file is included in the package under the Config folder, and the LICENSE.txt file was added in v1.0.3.4. The file based mode matters for anyone who runs the application from a portable folder or on a machine where writing to the registry is not wanted, and the project supports multiple languages.

The licence, which took a long time to sort out

The licensing story here is a good example of a project tidying up after itself, and it is the detail most people copying a tool should read. MBox Viewer is free software, and most of it is licensed under AGPLv3, with small parts under CPOL 1.02, and the MailKit open source library that is linked to connect to SMTP servers is licensed under MIT. The source code and executable were released under GPLv2 on SourceForge since the project inception. There was no explicit license information for the project on GitHub, and the project notes that without a license the default copyright laws apply, meaning authors retain all rights to the source code and no one may reproduce, distribute or create derivative works from the work. The LICENSE.txt file was added in v1.0.3.4 to make the licensing explicit and to synchronise the license published on SourceForge and on GitHub. The AGPLv3 core is a real constraint for anyone thinking of folding the code into a closed product, so that file is the thing to read before you build on it.

Editorial conclusion

MBox Viewer fits a Windows user who has a mail archive, from a Thunderbird export, a Google mail archive, a backup taken years ago, and wants to read it without uploading it to a conversion service, because the parsing, the index and the search all run locally and the project states that the user's data remains private. It does not fit a macOS or Linux user at all, since the application is built on the Windows WIN7 platform and the project ships Windows executables and Visual Studio project files. It also does not fit someone who needs the source under a permissive licence, because most of it is AGPLv3 with small parts under CPOL 1.02. Before you rely on it, plan for the first parse of a large archive, since the tool says parsing a very large archive takes time while later loads come from the index file.

Frequently asked questions

What file formats can MBox Viewer open?

It views mbox files such as Thunderbird archives and Google mail archives, simple EML files and Outlook MSG files, and it supports Thunderbird exported mail files, Gmail Labels, winmail.dat and .ms-tnef attachments, and header fields and body text in any Windows supported character set.

Why is loading a large mail archive slow the first time?

Because the archives are text files and every character has to be examined one by one during the initial parse. Subsequent loading of mails is done from the index file created by that first pass, with the .mboxview extension, and is much faster because it holds each mail's header information and position in the file.

Does MBox Viewer upload my emails anywhere?

No. The project states that users' data remains private and that users' emails are processed entirely on the local machine. The application is built on the Windows WIN7 platform and ships Windows executables, with version 1.0.3.47 the last release built on Windows XP.

What licence is MBox Viewer released under?

Most of it is AGPLv3 with small parts under CPOL 1.02, and the linked MailKit library for connecting to SMTP servers is MIT licensed. The source and executable were released under GPLv2 on SourceForge from the start, and the LICENSE.txt file was added in v1.0.3.4 to make the licensing explicit across both sites.

Official sources

  1. eneam/mboxviewer on GitHub
  2. Issues
  3. README
  4. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/eneam-mboxviewer.svg)](https://hysenlabs.com/projects/eneam-mboxviewer)

Was this useful?