What is inside a data export?

When you click "Download my data" on Google Takeout, Facebook, or Spotify, you get a zip with anywhere from a few hundred to tens of thousands of files: nested JSON, HTML, CSV, and media, named after internal product codenames, with no index and no summary. Export X-Ray reads that archive in your browser and answers the first question you actually have: what is in here, and how much of it is there?

Drop the zip on the panel above and Export X-Ray detects which service produced it, then shows the headline numbers as it parses: the total time span the data covers, record counts per category (location points, photos, messages, plays, and so on), the oldest and newest items found, and which of that service's expected categories are present, thin, or missing. It is built for the moment right after you request an export, when you are deciding whether to keep it, migrate it, or delete the account it came from.

Everything runs client-side. There is no upload endpoint, no account, and no analytics. You can open your browser's network tab while using it and watch it make zero requests with your data, and an automated test in the repo fails the build if a future change ever tries.

Questions people ask

Is my data uploaded anywhere?
No. The archive is read entirely in your browser with JSZip. It never leaves your device, and no server ever sees it. That is the whole point of the tool.
Which exports does it support?
Google Takeout (Location History, Google Photos metadata, Search, and YouTube history), Facebook (posts, Messenger threads, photos and videos), and Spotify (streaming history, playlists, and saved library). An unrecognized archive still gets a file count and a list of its top-level folders rather than an error.
How big an export can it handle?
Large ones. Parsing runs in yielding chunks so the page stays responsive on archives with thousands of files, and a Cancel control stays live the whole time.
Can I save the summary?
Yes. Once a result is in, the "Export summary" button downloads the whole breakdown as a JSON file for your own records.
Does it read the contents of my messages or photos?
No. It counts records and reads timestamps to build the summary. It does not surface message text, photo pixels, or any other content.