Written by Jennifer Walsh. Reviewed for technical accuracy by Shubham Dixit, Independent Expert in Email Forensics and Data File Conversion.
Shubham is an independent external reviewer and not an employee of PCDOTS.
Quick answer. Google Takeout gives your mail as one flat .mbox, which is technically text but full of headers and encoded parts, so it reads as gibberish raw. To convert Google Takeout to text, a short Python script pulls each message body into a .txt, or Thunderbird’s free ImportExportTools NG add-on exports the folder as plain text.
On this page
It is already text, just a messy kind
Here is the twist that makes this easier than it looks. Google Takeout hands you your mail as a single flat .mbox, and an .mbox is already plain text under the hood. The problem is what that text looks like, it is one long file stuffed with headers, MIME boundaries and bodies encoded in base64 or quoted-printable, so if you open it straight in Notepad you get walls of gibberish rather than readable messages. So converting Google Takeout to text is not really a format change, it is decoding, pulling each message’s body out as clean, readable text you can open on any device, even a phone.
The raw file is technically text but encoded, decoding is what makes it readable.
“The thing people miss is that the Takeout file already is text, it just is not readable text. All the useful methods here do the same underlying job, they walk each message and decode the body from base64 or quoted-printable into something you can read. Thunderbird’s ImportExportTools NG does it through a menu, a few lines of Python do it in a loop, and a converter does it in bulk. None of them is doing anything exotic, so pick whichever matches how you like to work, and do not pay for it if the free export already gives you what you need.” Shubham Dixit, Data File Conversion reviewer (draft, pending approval)
Get the .mbox out of the archive
Quick first step, since Takeout wraps the .mbox in an archive. You will have downloaded a .zip or a .tgz, and it does not matter which, the same .mbox is inside both. A .zip opens with a double-click anywhere. A .tgz opens natively on Mac and Linux, and on Windows you just need a free unzipper like 7-Zip. Extract it, find the .mbox, usually named for the account, and you are ready for any of the methods below.
The free way, Thunderbird’s add-on
If you would rather click than code, Thunderbird exports plain text for free with one add-on. Install ImportExportTools NG from the Add-ons and Themes screen, then right-click Local Folders, choose ImportExportTools NG, then Import mbox file, and pick your extracted .mbox. Once the mail appears, select the messages, right-click, and choose Export all messages in the folder, then Plain text. Each message saves as its own readable .txt. If the add-on option does not show up, it is almost always a version mismatch, install the ImportExportTools NG build that matches your Thunderbird version and restart, and it appears.
The add-on imports the .mbox and writes one readable .txt per message.
The free way, a short script
If you are comfortable with a little code, or you want to automate it, Python reads the .mbox and writes a .txt per message directly, no client needed. It uses the built-in mailbox module, decodes each message’s plain-text body, and saves it with a short header line.
import mailbox, os
os.makedirs('text_out', exist_ok=True)
def body_text(msg):
if msg.is_multipart():
for part in msg.walk():
if part.get_content_type() == 'text/plain':
raw = part.get_payload(decode=True)
if raw:
return raw.decode(part.get_content_charset() or 'utf-8', 'ignore')
return ''
raw = msg.get_payload(decode=True)
return raw.decode(msg.get_content_charset() or 'utf-8', 'ignore') if raw else ''
for i, message in enumerate(mailbox.mbox('All mail.mbox'), 1):
head = 'From: %s\nSubject: %s\nDate: %s\n\n' % (
message.get('from', ''), message.get('subject', ''), message.get('date', ''))
with open('text_out/msg_%05d.txt' % i, 'w', encoding='utf-8') as out:
out.write(head + body_text(message))
Change the file name to your own .mbox and run it. You get a folder of numbered .txt files, one per message, decoded and readable. It costs nothing and nothing leaves your machine.
A tool for a clean batch
The two free routes above cover most needs, so reach for a tool only when they do not fit. A converter helps when you want the whole mailbox handled in one pass, when you would rather have a single combined .txt instead of hundreds of separate files, or when you also want other formats out of the same run. The PCDOTS Google Takeout Converter reads the Takeout archive directly, previews it, and exports to text on Windows, with a free version so you can test it first. Use it for the batch convenience, not because the free export is hard.
The tool route, a Takeout archive read straight to text, as many files or one.
Here are the tool steps with the screens.
Step 1. Install and run the software on Windows, then open the menu.

Step 2. Choose Google Takeout files from the Open menu.

Step 3. Browse and load your Takeout archive.

Step 4. Open Export and choose Text, then save.

Related reading, our guides to import Google Takeout to Thunderbird and convert Google Takeout to PDF. To just look inside the archive first, the free Google Takeout viewer opens it without converting.
The methods compared
Pick by how you like to work and what shape you want the text in.
| Method | Best for | Good to know |
|---|---|---|
| ImportExportTools NG | Clicking, not coding | Free, one .txt per message |
| Python script | Automating it, free | You control the output |
| Takeout Converter tool | A combined file, bulk | Windows, other formats too |
Frequently asked questions
Is a Google Takeout .mbox already text?
Yes, but not readable text. It is one file full of headers and base64 or quoted-printable bodies, so it needs decoding before it reads cleanly.
What is the free way to convert it to text?
Import the .mbox into Thunderbird with ImportExportTools NG, then Export all messages as Plain text. Or run a short Python script over the .mbox.
Should I pick tgz or zip in Takeout?
Either. The same .mbox is inside both. A .zip opens anywhere, and a .tgz opens on Mac and Linux or with 7-Zip on Windows.
ImportExportTools NG is not showing its options, why?
Usually a version mismatch. Install the add-on build that matches your Thunderbird version, restart Thunderbird, and the menu appears.
Can I get one combined text file instead of hundreds?
The free per-message export gives individual .txt files. For a single combined .txt, a converter that merges the mailbox into one file is the easier route.
Will attachments be included?
Plain text holds the message body, not the attachments themselves. If you need those, export the folder as EML instead, or convert to PDF, which can carry them.
The gist of it
If there is one thing to hold onto, it is that your Takeout mail is already text, it just needs decoding into a readable form. That single job is what every method here does, Thunderbird’s free add-on through a menu, a few lines of Python in a loop, or a converter in one bulk pass. Unpack the archive, pick the route that matches how you like to work, and you will have clean .txt files you can open on any device, no special software required to read them.