activity.fit已解码
0F A3 21 B7 4Ctimestamp: 2026-06-02T10:32:14Z
12 8A 64 02 1Fposition_lat: 51.5074
04 71 9E 33 88position_lng: -0.1278
0A 22 4D 6E 91altitude: 142.6 m
7E 55 03 9C 41heart_rate: 152 bpm
88 1D B4 E2 0Fpower: 248 W
3C C9 76 18 5Bcadence: 92 rpm
20 81 4A E6 7Dtemperature: 18 C
已解码字节数

免费工具

浏览原始 FIT 文件中的每条消息和字段。

在浏览器中逐条消息、逐个字段检查任何 Garmin FIT 文件。树状视图每个记录类型,跨字段搜索,查看正确解码的时间戳和半圆位置。深度只读查看器,适合任何调试主机、验证第三方导出或找出文件拒绝上传到 Strava 的原因。

0F A3 21 B7变为记录消息:8,412

工作原理

  1. 1

    删除 .fit 文件

    我们在您的浏览器中解码二进制文件 - SDK 读取 Garmin 定义的每种消息类型。

  2. 2

    选择消息类型

    左侧的树列出了每种类型并附有计数。单击其中一个即可在右侧以表格形式查看每个条目。

  3. 3

    搜索和浏览

    按任何字段值过滤行。时间戳呈现为 ISO,半圆位置转换为度数。

你会获得什么

  • 每个消息类型都以行数树状列出
  • 半圆位置自动转换为纬度/经度十进制
  • 时间戳呈现为 ISO 8601,而不是自 1989 年以来的原始秒数
  • 跨所有字段的每表搜索过滤器
  • 由官方 Garmin FIT SDK 提供支持 - 解码每个标准消息
  • 离线工作 - 您的 FIT 保留在您的设备上,从未上传

何时使用这个

每当您需要确切了解 FIT 文件中的内容时,请打开检查器。调试记录奇怪数据的主机,验证第三方导出是否包含您期望的字段,找出上传到Strava失败的原因,确认工具运行正确(将之前和之后的文件放入并比较),检查在骑行期间配对了哪些传感器,寻找专有的开发人员字段,或者只是满足对您价值1000美元的自行车计算机写入的二进制格式的好奇心。它是最接近 FIT 文件调试器的东西。

它是如何工作的

该工具将您的文件加载到浏览器中的官方 Garmin FIT JavaScript SDK 中。 SDK 将二进制文件解析为类型化对象 - 每种消息类型一个数组,文件中每次出现时填充一个条目。我们将该对象交给虚拟化表渲染器,并在侧栏中显示消息类型计数树。纬度/经度转换是乘以 (180 / 2^31)。时间戳转换是加上 FIT 纪元(距 Unix 纪元偏移 631065600 秒,因为 FIT 从 1989-12-31 UTC 开始计数)。搜索是一个包含字符串的过滤器,应用于每个可见行的每个字段值。服务器端没有任何反应。

常见错误

两个常见的。首先,期望检查器显示“错误” - 但事实并非如此,因为 FIT 格式在字段级别实际上并没有错误。文件要么可解码,要么不可解码。如果您想知道为什么您的活动统计数据错误,请查看会话并记录消息并与您的预期进行比较。其次,对unknown_xxx消息类型感到恐慌——它们是正常的。每个现代主机都会编写供应商扩展,它们不会影响任何官方平台对文件的读取。

常见问题

我可以在检查器中编辑任何内容吗?
不可以 - 该工具是严格只读的。它是套件其余部分的诊断对应部分。当您需要更改文件时,请使用其他实用程序:[FIT时间调整器](/tools/fit-time-adjuster)用于时钟移位,[FIT运动更改器](/tools/fit-sport-changer)用于运动重写,[FIT设备更改器](/tools/fit-device-changer)用于设备元数据,等等。
为什么有些位置值是大整数?
FIT 格式将纬度和经度存储为半圆 - 一个 32 位有符号整数,其中 2^31 个半圆等于 180 度。原始值看起来像 535124800 而不是 47.85。我们将以 _lat 或 _long 结尾的任何字段名称转换为十进制,以便您在原始 int 旁边看到人类可读的坐标。
检查员会被长达数小时的文件噎住吗?
否 - 表通过浏览器的本机滚动进行虚拟化,因此您可以单击进入包含 30,000 个条目的记录表,并且 UI 保持清爽。在现代笔记本电脑上,解码本身每小时大约需要一秒的时间。长时间保存或 24 小时骑行打开的文件不会出现任何问题。
我应该首先查看哪些消息类型?
对于活动文件:以 file_id(制造商、产品、创建时间)、会话(摘要记录 - 总距离、总时间、平均值)、圈数(每圈摘要)、记录(每秒数据)和事件(开始/停止、按圈、自动暂停触发器)开始。对于课程文件:课程、课程点(转向提示)和记录。对于训练文件:训练 和锻炼_步数。
我的文件无法在另一个工具中解码。这行得通吗?
经常是的。我们使用官方 Garmin SDK 并关闭严格验证,因此具有轻微损坏或非标准扩展名的文件仍然可以显示。如果连 Inspector 都无法对其进行解码,则该文件确实已损坏,您需要恢复工具 - 或者从源重新导出。
如何找出哪个设备写入了文件?
打开 device_info 消息。制造商字段是 Garmin 枚举(或 wahoo_fitness、suunto、coros 等),产品字段是设备型号。第一行 device_info 通常是主机或手表本身;后面的行是成对的传感器(HRM、功率计、踏频传感器等)。
为什么我的文件有数百个“unknown_xxx”消息类型?
Garmin在FIT规范中为供应商特定的扩展保留空间,Wahoo、Stages、Coros和Polar都将其用于专有数据。未知消息类型通常是 Strava 和 Garmin Connect 忽略的私有供应商数据。它们是无害的——它们只是不在公共规范中。
什么是开发者领域?
开发人员字段是由第三方应用程序或 Connect IQ 数据字段写入 FIT 的自定义字段。它们有自己的 field_description 消息来声明它们的名称和单位。 Inspector 呈现与标准字段内联的 field_description 表和开发人员字段列。

把你的训练记录保存到真正的日志中

先检查字节数据,再把每一次骑行和跑步都集中分析。Domestique 替你解读数据。

创建免费帐户