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:

Thing of Things AI use policy

dynomight recently wrote an article calling for bloggers to state publicly whether and how they use AI

via Thing of Things July 6, 2026

Agentic test processes, LLM benchmarks, and other notes on agentic coding from Galapagos Island

I've been using AI fairly heavily since last November and the whole thing is a funny experience. An agent will do something that, if a human did it, you'd immediately fire them. My reaction, of course, is to act as if this is great and spin up a t…

via Posts on July 3, 2026

Variable fonts aren't universally supported

I make a lot of webpages. I also use Lockdown Mode on iOS and MacOS for a bit of extra security. Sometimes I realize that I forgot to test on Safari and it looks like crap, or I test and don’t notice that there’s been a problem for months (as was the case…

via Home June 27, 2026

more     (via openring)