How to read your Instagram data export
Your Instagram data export is a folder of folders, in formats most people cannot read. Here is how to request it, open it, and understand what is actually inside.
The LMKFR Blog
Your Instagram data export is not a backup. It is a record of years of ordinary attention: when you posted, what you saved, who answered. These are notes on opening it, reading it honestly, and deciding what it means now.
A four-part series · read in order
A four-part walk from the folder you downloaded to the story you can finally read: what the archive is, what is inside it, what it can honestly tell you, and what to do with it.
Your Instagram data export is a folder of folders, in formats most people cannot read. Here is how to request it, open it, and understand what is actually inside.
An Instagram data export is a folder of folders with no table of contents. Here is a guided tour of what is actually in each one, which files carry the real record, and which parts Meta computes rather than stores.
Most people open their data export, find a third of it empty, and assume something broke. Nothing broke. Here is what is actually missing, and why.
The cheapest, strangest record in your archive is the one everybody updates and nobody explains.
Your export kept three very different kinds of thing with exactly the same care, and nobody has ever read it back to you.
An Instagram export is not a live feed - it is a snapshot. Reading it as a time capsule means asking what it can honestly show you about a period of your life, without overreading signals that simply were not recorded.
Data sovereignty means you decide where your archive lives and who can touch it. A local-first design keeps custody in your hands by default, with opt-in sync only under strict constraints.
9 posts
Your Instagram data export is the most sensitive file most people will ever hold. Here is how to judge any tool that asks for it, how to verify a local-processing claim yourself, and what LMKFR does and does not send anywhere.
Processing a ZIP of your entire Instagram history comes with concrete threats. This is the engineering posture: harden parsing against ZIP bombs/path traversal, XSS/prototype pollution, worker DoS, and the split-key crypto envelope for the opt-in sync tier.
Almost your entire Instagram social graph lives in two files, and none of its history does. Here is every relationship list your export really contains, the set arithmetic that turns them into answers, and the three things it can never tell you.
Your Instagram export tracks actions between you and specific people. This is the volume half: not who is on your lists, but how much you reached them, what kinds of interactions you had, and the honest limits on that count.
Your Instagram export splits conversations into thread folders, and large threads are sharded across message_1.json, message_2.json and so on. This is how DMs, group chats and owned broadcast channels are reconstructed, and why unsent messages, media-in-thread and reactions can look odd if you read only one file.
Your own content is spread across several files. Posts, reels, stories, profile photos, recently deleted, watch history and DM media are all parsed separately. This is what each bucket is, how it is found in the archive, and what can look like a missing post when it is not.
The activity folder is the biggest and least obvious. Likes, comments, searches, story interactions, poll/Q&A answers, saved items, reposts, link history, ads, posts you viewed/interested in, note interactions and watch history are all separate files. This is what they map to in the archive and the rule that matters: watch history is consumption, not "your activity" in the same sense as actions you took.
Your profile details live in a few small files under personal information. The parser normalizes different shapes (modern string_map_data with label_values merged, and older simple objects), filters untrusted labels to avoid prototype pollution, and extracts only what is actually recorded.
Your Instagram data export is sensitive. A local-first approach means it never leaves your device unless you explicitly opt in. LMKFR processes everything client-side by default, with an opt-in claim layer designed to avoid taking your archive.
It will not tell you who your real friends are. It will not turn your archive into a personality test, and it will not pretend your export is more complete than it is. Several of these posts exist mostly to say where the data stops.