You asked Google for a copy of your mail, waited for the export, and ended up with a multi-gigabyte ZIP file containing something called an .mbox that nothing on your Mac wants to open. Double-clicking does nothing useful, and text editors choke on it. This guide walks through getting the export out of Google Takeout, opening the mbox in mailin, and turning it into an archive you can actually search.

Why you need a Gmail Takeout viewer

An mbox file is one long text file with every message appended one after another, headers and all, with attachments encoded inline. That format is fine for a mail program to read, but it is not designed for people. A large mbox is a single file, and most tools that can technically open it try to load the whole thing into memory first.

mailin reads mbox with its own streaming parser written in Swift. It handles RFC 822 headers and full MIME: multipart messages, base64 and quoted-printable encoding, and charset decoding for UTF-8, ISO-8859-1, Windows-1252 and others. Nothing is converted and nothing is uploaded. The file stays on your Mac and mailin indexes it in place.

Step 1: request the export from Google Takeout

  1. Go to Google Takeout and sign in.
  2. Click Deselect all, then scroll down and select only Mail.
  3. Click Create export.
  4. Wait. For a large mailbox this can take hours.
  5. Download the .zip file when it is ready.

Step 2: unzip first

This is the step that trips people up. mailin 2.0 does not auto-extract ZIP archives, so you need to unzip the Takeout download before importing. Double-click the ZIP in Finder and look inside the resulting folder for the mailbox file.

Google Takeout often ships the mbox without a file extension, so it may show up with no .mbox suffix at all. That is fine. mailin auto-detects the format from the file contents, so an extensionless mbox opens the same way a named one does.

Step 3: open the mbox in mailin

Drag the mailbox file onto the mailin window, or use the file picker. You can drop several files at once if your export was split into parts. A progress indicator shows how far the import has gone, which matters for large files.

Under the hood, mailin drains messages in batches of 200, so peak memory stays flat no matter how big the file is. A 200 GB Takeout uses about the same memory as a 200 MB one; the difference is only time. The product's own line for this is "Drop a 200 GB Gmail Takeout and walk away," and that is the intended workflow.

The import is also resumable. mailin records a SHA-256 hash for each file and a checkpoint after each batch. If the app crashes or the import is otherwise interrupted, dropping the same file again resumes from the last checkpoint, and the most you redo is one batch of 200 messages. If you are working with an archive that is genuinely huge, the post on resuming an interrupted import covers what to expect.

Individual messages larger than 100 MB are counted as damaged rather than crashing the import. The import report tallies damaged messages by category so you know what was skipped. A disk read error stops the import and reports the byte offset instead of silently truncating the archive.

Labels, threads and search

Gmail does not use folders; it uses labels, and a Takeout export carries them along. mailin detects those labels on import so you can filter by them, much as you would in Gmail. Conversations are rebuilt from the Message-ID, In-Reply-To and References headers, which means replies and forwards group into threads even though mbox stores them as flat, separate messages.

From there you can filter by sender, domain, date range, folder, label or whether a message has attachments. Combining a label with a date range is often the fastest way to narrow a decade of mail down to a few hundred messages.

Search is where the 2.0 engine matters most. The full-text index is built on-device and covers subject, sender and recipient headers and the body. It is split into per-year SQLite shards, so a query bounded to a date range only touches the shard for that year, and results are ranked by BM25 relevance rather than date alone.

The query language supports Boolean AND, OR and NOT, wildcards with *, regular expressions written as /pattern/, and proximity searches such as "budget" NEAR/5 "deadline". The separate post on Boolean, regex and proximity search goes through the syntax with examples.

What you can try for free

The Free tier imports up to 500 emails with every format supported, basic search and filters, headers and attachments, analytics and on-device sentiment and topic extraction. It also includes 3 AI Assistant queries and 3 AI Smart Filter queries; as with any AI feature, those answers can be inaccurate or incomplete, so verify anything that matters. No account and no payment details are required. If your Takeout export has more than 500 messages, the Personal tier removes the cap; current prices are in the pricing section.

Nothing about this process involves a server. mailin has no IMAP, SMTP or Gmail API code in the shipped app, and the developer collects no analytics or telemetry. Your archive is read from disk, indexed on your Mac and stays there.

FAQ

Can mailin open the Takeout ZIP directly?

Not in version 2.0. Unzip the download first, then import the mbox file from inside the extracted folder.

My Takeout mbox has no file extension. Is that a problem?

No. Google Takeout regularly ships extensionless mbox files, and mailin detects the format from the contents rather than the name.

Is there a maximum mbox size?

There is no fixed file-size cap for mbox because the parser streams the file in batches. The only per-message limit is 100 MB; messages above that are counted as damaged in the import report and skipped rather than crashing the import.

Try mailin free

Import up to 500 emails with no account and nothing uploaded. iPhone, iPad and Mac — one purchase.

Download on the App Store