Guide News Free Tool Already have a key?
Garmin Connect import errors

“An error
occurred with
your upload.”

Garmin Connect shows this message for almost every import failure, whatever the cause. Most of the time nothing is wrong with your file and the same upload goes through on the second or third attempt. When it doesn't, it is one of six specific things. Both cases are covered below.

Do this first

Upload the
same file again.

Garmin Connect's importer returns one generic message for two completely different situations: a transient failure on Garmin's side, and a real problem in your file. It does not tell you which one you've hit. The transient failure is far more common, and it costs nothing to rule out, so rule it out first.

The 30-second check. Click the upload button and select the exact same file again. Wait a few seconds, then repeat if it fails. Do not edit the file, do not rename it, do not re-download it. This is a known and long-standing Garmin bug, and files that fail twice frequently succeed on the third attempt with nothing changed.

Retrying cannot duplicate your data. Garmin gives precedence to data already recorded for a date, so a repeat upload only lands on days that are still empty. A file that partly succeeded and then errored will not double-count anything on the next attempt.

If one file fails three times, skip it and move on. Import the next year, then come back to the stubborn file later. Garmin's import queue is noticeably slower at peak times, and the same untouched file often goes straight through an hour later.

Still failing after that? It is a file problem. Work down the list below, which is ordered by how often each cause is actually the culprit.

When retrying doesn't work

Six reasons
Garmin rejects a file.

Garmin's importer aborts an entire file on a single invalid row rather than skipping it, which is why a file either imports completely or fails completely. One bad cell is enough to take down a whole year.

1

The file has been opened in Excel

This is the single most common real cause. Excel reformats date columns automatically on open, and again on save, usually without any warning. Once it has done that, the dates in the file no longer match the date format you selected in Garmin's import dialog, and the upload is rejected.

The fix: download a fresh copy of the file from the converter and upload it without opening it first. If you need to look inside a file, open it in Notepad on Windows or TextEdit in plain text mode on Mac. Neither will touch the contents.

How to tell: if the file has ever been opened and saved in Excel, Numbers, or Google Sheets, assume this is your problem, even if the dates look correct on screen.

2

You're dragging the file straight out of a ZIP

Dragging a CSV from inside a still-compressed archive onto Garmin's import page hands the browser an empty reference. Garmin accepts the filename, uploads nothing, and errors.

The fix: extract the archive to a real folder on your desktop first, then select the files from there.

How to tell: Garmin's import page lists the file size next to the filename. If it reads 0 bytes, this is the cause.

3

The units or date format in the modal don't match the file

Before Garmin reads your file it asks for length units, weight units and date format. Its default date format is not the same as the converter's default, so accepting the dialog without changing anything is a common way to fail.

The fix: set Length Units and Weight Units to whatever you chose in Wearable Converter, and set Date Format to match as well. If you left the converter on its default, choose the 2026-12-31 option.

How to tell: this one also has a silent failure mode. If a file imports successfully but every entry lands on the wrong day, the date format was mismatched rather than invalid.

4

Empty cells or zero-filled columns in a body file

Garmin rejects a body composition row containing an empty cell, and it rejects a file where an optional column such as BMI or Fat is filled entirely with zeros. A row with a weight of 0 will also take the file down. This is why people report every body_YYYY.csv failing while every activities_YYYY.csv imports fine.

The fix: include only the columns you have real data for. Date and Weight are the only required ones, and Garmin calculates BMI itself, so sending it is redundant anyway. Wearable Converter has built body files this way since v1.6.7, adding BMI and Fat columns only when there are genuine readings behind them.

How to tell: open the file in a plain text editor and look for a row ending in a comma, or a column that is nothing but zeros.

5

The section header line is missing

Garmin's importer expects a keyword on the very first line, above the column headings: Body for body composition files and Activities for activity files. A hand-built file that opens straight onto Date,Weight is rejected, and this catches out nearly everyone exporting from a third-party weight tracker or writing the file themselves.

Body
Date,Weight
2026-01-15,77.5

The fix: add the section line. The converter writes it automatically, so this only applies to files you built by hand.

6

It's the wrong kind of file entirely

Garmin's import page takes Fitbit body or activity data as .csv, .xls or .xlsx, plus Garmin activity files as .tcx, .fit or .gpx. It does not take a Google Takeout ZIP, and it does not take the JSON files inside one. Body and activity data also have to live in separate files: a single CSV containing both is rejected.

The fix: a Takeout ZIP or an Apple Health export.zip has to be converted into Garmin's CSV shape first. Wearable Converter does that in your browser and writes one activity file and one body file per year, already split and already formatted.

Not actually an error

“Your upload
is still processing.”

This message means the opposite of the one above. Your file was accepted and Garmin is writing the data in the background. Leave it alone and check again in 30 to 60 minutes.

Steps, distance, calories, floors and active minutes appear under Health Stats in the left sidebar. Weight, BMI and body fat appear under Health Stats then Weight.

Do not re-upload while you wait. An import that is still processing looks identical to one that did nothing. Give it the full hour before you decide it failed.

Minor differences between your old totals and what Garmin shows are normal. Fitbit and Google Health store raw data in UTC, so timezone correction moves a small number of entries to a neighbouring calendar day, and distance and calorie figures round differently. Neither is a conversion error.

Get a file Garmin will accept

Skip the
format guesswork.

Every cause above except Garmin's own retry bug comes down to the file being in the wrong shape. These tools write it in the right one.

Free

Single entries

Need one weigh-in or a few missing days rather than a full migration? Two free generators write a valid Garmin CSV from numbers you type in. No key required.

Free tools
FAQ

Common
questions.

Does this error mean my CSV file is broken?
Usually not. Garmin Connect returns the same generic message for a transient server-side failure and for a genuine file problem, and the transient case is far more common. Retry the identical file two or three times before you change anything about it. If it still fails after that, work through the causes on this page.
How many times should I retry before I start editing the file?
Three attempts, with a few seconds between each. If a file fails three times in a row, move on to the next year's file and come back to the failing one later. Garmin's import servers are slower at peak times and the same unedited file often goes through on a later attempt.
Can retrying the same file import my data twice?
No. Garmin's importer gives precedence to data already present for a date, so a second upload of the same file lands on empty days only. Your step counts cannot be inflated by a repeat upload.
Why do my activity files import but my body files fail?
Garmin aborts an entire file on a single invalid row rather than skipping it, and body files have more ways to contain one. An empty cell, a zero weight, or an optional column such as BMI or Fat that is entirely zeros will reject the whole file. Activity files rarely hit any of those conditions, which is why they sail through while every body file fails.
I opened the CSV in Excel. Can I still upload it?
Only if you did not save it. Excel rewrites dates on open and again on save, usually without warning, and the saved file no longer matches the date format you selected in Garmin's import modal. The fix is to download a fresh copy from the converter and upload it without opening it. To inspect a file safely, use Notepad on Windows or TextEdit in plain text mode on Mac.
Can I upload a ZIP or a JSON file to Garmin Connect?
No. The import page accepts Fitbit body or activity data as .csv, .xls or .xlsx, and Garmin activity files as .tcx, .fit or .gpx. A Google Takeout ZIP and the JSON files inside it are both rejected. That is the gap Wearable Converter fills: it reads the Takeout or Apple Health export in your browser and writes the CSV files Garmin will accept.
The upload said it worked but nothing shows up in Garmin Connect.
Imported data takes 30 to 60 minutes to process and appear. Steps, distance, calories, floors and active minutes land under Health Stats in the left sidebar. Weight, BMI and body fat land under Health Stats then Weight. Do not re-upload while you wait.
Can I import a CSV from the Garmin Connect phone app?
No. Importing is web only. Sign in at connect.garmin.com on a desktop browser and use the cloud icon in the top right, then Import Data. The mobile app has no equivalent screen, which is why the upload button is missing when people look for it on a phone.
Related

Keep
going.

The wider import process, and the format rules behind the errors above.