Understanding the Google Gemini Export Format (And How to Read It)

Exporting your Gemini conversations requires Google Takeout, which bundles your Gemini data alongside everything else in your Google account. The result is a multi-gigabyte archive that's confusing to navigate. Here's what you actually get and how to make sense of it. How Google Takeout Packages Your Gemini Data When y…

Exporting your Gemini conversations requires Google Takeout, which bundles your Gemini data alongside everything else in your Google account. The result is a multi-gigabyte archive that's confusing to navigate. Here's what you actually get and how to make sense of it.

How Google Takeout Packages Your Gemini Data

When you export Gemini data through Google Takeout:

  1. Select Gemini Apps (deselect everything else unless you want your entire Google archive)
  2. Choose your export format and delivery method
  3. Wait for Google to prepare the download
  4. Download the ZIP file

Inside the archive, your Gemini data lives in a folder structure like:

\\\`

Takeout/

Gemini Apps/

Conversations/

2026-01-15 - Project Ideas.json

2026-01-14 - Code Review Help.json

...

My Activity/

MyActivity.json

\\\`

What's Inside Each Conversation File

Each conversation is a separate JSON file. The structure looks like this:

\\\`json

{

"conversation": {

"id": "abc123xyz",

"title": "Project Ideas",

"create_time": "2026-01-15T10:30:00Z",

"messages": [

{

"role": "user",

"parts": [

{

"text": "Give me 5 project ideas for a hackathon"

}

],

"create_time": "2026-01-15T10:30:00Z"

},

{

"role": "model",

"parts": [

{

"text": "Here are 5 hackathon project ideas:\\n\\n1. AI-Powered Study Buddy..."

}

],

"create_time": "2026-01-15T10:30:05Z"

}

]

}

}

\\\`

Three Things That Make Gemini Exports Confusing

1. One File Per Conversation

Unlike ChatGPT (one big file for everything) or Claude (one file with all conversations in an array), Gemini gives you a separate JSON file for each conversation: If you have 500 conversations, you have 500 files.

This makes it nearly impossible to search across your history. You'd have to open each file individually.

2. The "Parts" Array

Gemini messages use a \parts\ array, which can contain:

A single message might have multiple parts, and not all of them are text. This makes naive parsing fragile.

3. Google Takeout Overhead

The Takeout archive includes a lot of files you don't need:

Finding the actual conversation files requires navigating through several directories.

Why a Simple Script Breaks

Here's what people typically try:

\\\`python

import json, os

folder = "Takeout/Gemini Apps/Conversations/"

for filename in os.listdir(folder):

with open(os.path.join(folder, filename)) as f:

data = json.load(f)

for msg in data["conversation"]["messages"]:

role = msg["role"]

text = msg["parts"][0]["text"] # 💥 Crashes here

print(f"[{role}]: {text}")

\\\`

This breaks because:

The Easy Way: Use ChatExports

ChatExports handles Gemini's unique export format automatically:

  1. Upload your Google Takeout ZIP file to chatexports.com/convert
  2. ChatExports detects the Gemini format and finds all conversation files inside the archive
  3. Browse all your Gemini conversations in one searchable list
  4. Export as Word, PDF, or Markdown. individually or all at once

What ChatExports Handles

Gemini Data You Might Lose

Google's data retention policies for Gemini are less transparent than OpenAI's or Anthropic's:

If you have Gemini conversations worth keeping, export them sooner rather than later.

Cross-Platform Tip

If you use Gemini alongside ChatGPT or Claude, ChatExports supports all three. Upload each platform's export file separately and you'll have all your AI conversations in one place, exported to the same document format.

Convert your Gemini export now →

Related tools on ChatExports