Exporting Hangouts History

September 2nd, 2022
tech
Yesterday I received a worrying email:

From: The Google Apps Team
Subject: Important information about the upgrade from Google Hangouts to Google Chat

Earlier this year, we announced that all Hangouts users would be upgraded to Google Chat. As the last step of the upgrade, starting November 1, 2022, Hangouts on the web will be upgraded to Chat on the web. We are emailing you because some of your conversations or portions of conversations won't automatically migrate from Hangouts to Chat.

If you wish to keep your Hangouts conversations, we strongly encourage you to use Google Takeout and download your data before January 1, 2023 when Hangouts data will be deleted.

...

(Emphasis mine)

I followed the instructions and exported the data:

$ wc -l Takeout/Hangouts/Hangouts.json
1041592 Takeout/Hangouts/Hangouts.json

A million lines of data? What does this look like?

$ head -n 25 Takeout/Hangouts/Hangouts.json
{
  "conversations": [
    {
      "conversation": {
        "conversation_id": {
          "id": "Ugx..."
        },
        "conversation": {
          "id": {
            "id": "Ugx..."
          },
          "type": "STICKY_ONE_TO_ONE",
          "self_conversation_state": {
            "self_read_state": {
              "participant_id": {
                "gaia_id": "103...",
                "chat_id": "103..."
              },
              "latest_read_timestamp": "136..."
            },
            "status": "ACTIVE",
            "notification_level": "QUIET",
            "view": [
              "INBOX_VIEW"
            ],

Oh dear. Very far from human-readable.

I've now written a script to convert it to something readable (code):

$ python3 process-hangouts-json.py Takeout/Hangouts/Hangouts.json
...
Jonah Sidman (2013-05-31 11:48 AM):
    I feel like I had a public transit question for
    you but now I don't remember what it was

Jeff Kaufman (2013-05-31 11:48 AM):
    well, let me know
...

Spot checking, I don't see anything in my script that's missing in the online Chat interface, but it's hard to be sure.

I hope this script can be useful to others trying to read what Hangouts exports!

Comment via: facebook, lesswrong, substack

Recent posts on blogs I like:

Real stages of childhood

I find unenlightening the conventional names for the stages children go through.

via Thing of Things April 28, 2026

You should try contra dancing

a story of middle school Ben • a not-very-illuminating description of the mechanics • flow, joy, and community • the antidote to the rest of life • how to try contra

via benkuhn.net April 24, 2026

On AI writing in 2026

I use AI to write a little bit: I ask it for high level feedback on blog post drafts, make mechanical edits, and sometimes use it to brainstorm options for wording at a paragraph level. It’s unusual that I accept its wording or changes without modificatio…

via Home April 16, 2026

more     (via openring)