Tallyband

How to export Fitbit data to Excel or CSV

Google Takeout gives your Fitbit history as JSON files, one per month of steps and one per day of heart rate, plus a few CSV folders. Excel can open them one at a time. Here is what each file holds and the quickest ways to one sheet with a row per day.

Which file holds what

In a Takeout archive most files sit in Takeout/Fitbit/Global Export Data/. Archives made with the older fitbit.com export put the same files in folders such as Physical Activity, Sleep and Personal & Account. Newer archives also have folders ending in _GoogleData with CSV files. The names below come from open-source readers built and tested on real archives (sources at the end).

Files in a Fitbit archive
FileOne entry isWatch out for
steps-2026-03-01.jsonSteps in one minuteTimes are UTC, so a day's total depends on your time zone. Values are written as text.
distance-….jsonDistance in one minuteCentimetres. Divide by 100,000 for kilometres.
calories-….jsonCalories burned in one minuteIncludes your resting burn, so the day's sum is total calories.
heart_rate-2026-03-01.jsonOne reading, every few secondsA file per day, often 10,000 to 20,000 readings. Times are UTC.
resting_heart_rate-….jsonOne dayDays past the export date are padded with 0.
sleep-….jsonOne sleep, with stagesStart and end are local time. Files list the newest night first and overlap.
weight-….jsonOne weigh-inNo unit is written. See the weight guide.
exercise-0.json, exercise-100.jsonOne workoutNumbered, not dated, so every file must be read for a date range.
Sleep Score/sleep_score.csv, HRV and SpO2 CSV filesOne night or dayAlready CSV. Join them to sleep by date or sleep id.

The monthly files overlap by a day or so at their edges, so adding up every file double counts. Remove repeated timestamps first.

Three ways to one sheet

  1. Tallyband (a minute or two). Choose the Takeout ZIP, set the dates, download the daily summary CSV. It adds up the minutes in your time zone, removes the overlaps, converts the units and joins sleep score, HRV and SpO2 to each day. Sleep, weight and workouts come as their own CSV. Everything happens in your browser.
  2. Excel's Power Query (an evening). In Excel choose Data, Get Data, From File, From Folder, point it at Global Export Data, filter to one prefix such as steps-, and combine the files. Expand the records into columns, change value to a number, turn dateTime into a date and time, shift it from UTC, and group by day. Repeat for each data type.
  3. A script. If you write Python, the open-source FitOut library reads the archive for a date range and returns sleep, heart rate, HRV, breathing rate and weight.

Picking a date range

Google Takeout has no date filter for Fitbit data, and the old monthly CSV export is gone with the fitbit.com account system. Cut the range after the download: in Tallyband, type the dates or press Last 30 days, Last 12 months or a year, and every table follows.

Turn your archive into a spreadsheet with a row per day. Free for CSV, nothing is uploaded.

Open your Takeout archive

Tallyband Pro, $8 paid once: everything for your dates in one Excel file or one ZIP of CSV files, plus every heart-rate reading and steps minute by minute. Get Pro on Gumroad or see what is free.

Questions

Can Excel open Fitbit JSON files?

Yes, one at a time through Power Query (Data, Get Data, From File, From JSON), or a folder of them with From Folder. You still have to expand the records, convert text to numbers and shift UTC times to your own.

Why do my daily steps differ slightly from the app?

The archive stores steps per minute in UTC. If you add them up per UTC day, the evening of one day lands in the next. Tallyband adds them up in the time zone from your Fitbit profile, which you can change.

Is there a CSV export in the Google Health app?

The Google Health help page describes the full archive through Google Takeout and a per-workout export as a TCX file. The full archive is JSON with some CSV folders.

Sources

Last checked: October 29, 2026.

Related