Google Takeout hands you a ZIP and no explanation. Open one built from four years of Fitbit history and you get 11,797 entries, of which 2,784 are JSON files, none of which open in anything you already have. This is a plain reference to what is in there: which file holds which metric, why the numbers are per-minute rather than per-day, where sleep and heart rate live, and which of it any other platform will actually accept.
The export is not a report. It is the raw contents of your account, written out as thousands of small files, organised by metric and then by month. Every file is JSON, which is a text format built for programs rather than people, and nothing in the archive is a summary of anything.
The four-year export we use for testing contains 11,797 entries, of which 2,784 are JSON files. The rest is images, account records, settings and app metadata. Of those 2,784 JSON files, the ones holding daily activity and body measurements, the two categories any other fitness platform will accept, come to about 340. That ratio is worth sitting with before you start opening files at random.
Activity metrics are split one file per metric per month, named for the metric and the month they start. Depending on when your export was generated, the same metric may appear with or without an activities- prefix, and with hyphens or underscores between words. Both naming styles describe the same thing.
Those are the files that carry the numbers most people are looking for. If you are hunting for one specific metric, this list is the whole map: there is no master file that combines them, and no index telling you which is which.
This is the single most common surprise. People ask whether Fitbit can export hourly data, and the honest answer is that it exports something considerably finer. Inside a steps file, each entry is a timestamp and a value, and those timestamps land at minute resolution. A single day of step data is typically well over a thousand records.
So an hourly figure is not something Fitbit gives you. It is something you build, by grouping minutes into hours. The same is true of a daily total: the number you saw on your wrist was calculated by the app, and it is not written anywhere in the export. Every daily figure has to be reconstructed by summing the minutes for that date.
Takeout has no date filter for Fitbit data. You ask for the product, you get everything the account holds, from your first day to your last. There is no way to request a single year, a single month, or a specific window.
The useful consequence is that filtering is a job for afterwards, and it is easier than it sounds, because the files are named by date. If you only want 2025, you can select the 2025 files before opening any of them and ignore the rest of the archive entirely. If you are converting rather than reading, our converter has a date range filter that does the same thing without you touching the file names.
Both are in the export, in their own dated files, separate from the activity totals above. Heart rate is some of the largest data in the whole archive, because it is sampled every few seconds rather than every minute. Sleep records carry the stage detail behind the sleep graphs in the app, which is why people go looking for them.
Here is the part nobody says plainly. You can read this data, chart it, and keep it forever. What you cannot do is move it to another platform. Garmin Connect has no import path for historical heart rate, sleep stages, HRV, or SpO2 from any source. Neither does anyone else at the level of detail Fitbit recorded. That is a limitation of what the receiving platforms accept, not of your export or of any tool.
If you are switching devices and want your sleep history to come with you, the realistic outcome is that it does not. What comes with you is your daily activity record and your body composition. Everything else is yours to keep as files.
Body measurements are structured differently from activity: they are event records rather than continuous sampling, one entry each time a measurement was logged, whether by a smart scale or by hand. That makes them the smallest and simplest files in the export, and the easiest to work with.
They are also the most portable. Body fat percentage in particular is worth moving, because Garmin Connect will otherwise only accept it from their own Index scale, which is a USD $220 device. A body composition history imported from your Fitbit export lands in Garmin without one.
Neither will open the export usefully. Excel and Google Sheets both want a table: rows, columns, one header line. What you have is thousands of JSON files, each holding minute-level records for one metric and one month, with no shared structure between them.
Getting from one to the other means three things, in order: aggregate the per-minute records into daily totals, convert the units so distance is in kilometres or miles rather than centimetres, then join the separate metric files on date so that steps, distance, calories and floors for the same day end up on the same row. Done by hand across four years, that is a long weekend. Our Spreadsheet Export does exactly those three steps and hands back a workbook, and the same licence key also unlocks the Garmin converter.
Two causes account for most of it. The first is size and patience: a multi-year history runs to several hundred megabytes, and Takeout can take anywhere from a few hours to a day to build the archive before emailing you a link. Requesting only the Fitbit product, rather than leaving every Google service selected, keeps the archive dramatically smaller and the wait shorter.
The second is more final. If your Fitbit account was never migrated to a Google account, Google began deleting that data on 15 July 2026, and has published no recovery process. If Takeout returns nothing for Fitbit, that is the likely reason, and no third-party tool can retrieve it. Anything claiming otherwise is not telling you the truth. The deadline follow-up covers who was affected and who was not.
One thing that is not a failure: an export that looks like it is missing the last day or two. Fitbit syncs to Google's servers in batches, so the most recent dates are often incomplete rather than absent. That incomplete tail is also the most common cause of a Garmin import rejecting a file, which is why a fresh export immediately before converting is worth the wait.
Daily activity totals and body composition. In practice that means steps, distance, calories, floors and the active minutes bands, plus weight, BMI and body fat percentage. Out of roughly 2,784 JSON files, about 340 hold data Garmin's importer will accept.
The converter does the reconstruction described above and outputs the CSV format Garmin Connect's importer takes, split by year, entirely in your browser. The full guide walks through Garmin's import screens, and the Fitbit to Garmin page covers what transfers and what does not in more detail.
If you only want to understand your own archive, everything above is enough to navigate it: find the metric by file name, expect per-minute records, watch the timezone and the centimetres. If you want it as daily rows in a spreadsheet, or inside Garmin Connect, that is what Wearable Converter is for. One licence, USD $19, no subscription.