# GPX & FIT Viewer

> GPX・FITファイルをブラウザで開き、ルートの形と獲得標高、心拍・パワーのグラフを確認。FITをGPXやCSVに変換。アップロードも地図の読み込みもありません。

- URL: https://bytescope.dev/ja/gpx-viewer/
- Locale: ja · Also: [en](https://bytescope.dev/en/gpx-viewer.md) · [zh-Hant](https://bytescope.dev/zh-Hant/gpx-viewer.md)
- Runs: GPX と FIT はこのページ上、あなたの端末の worker で解析します。アップロードもログインも不要で、ルートの場所が伝わりかねない地図タイルの取得も一切しません。
- Requires: Any modern browser (Chrome, Edge, Firefox, Safari), desktop and mobile.
- Updated: 2026-09-08

## What it does

スポーツウォッチやサイクルコンピューターが記録するのは `.fit`、ところが多くのルートサイトやアプリが受け付けるのは `.gpx` です。どちらでもこのページへドロップすれば、その場で解析されます。まずサマリー——距離、経過時間と移動時間、獲得標高と下降、平均・最高速度（またはペース）、心拍、パワー、記録した機器——続いて縮尺どおりに描いた軌跡（スケールバーと北矢印付き）、そして標高・速度・心拍・ケイデンス・パワー・気温のグラフを、ファイルに入っている分だけ表示します。複数ファイルをまとめてドロップし、左のリストで切り替えることもできます。

すべてブラウザの中で完結します。GPS 軌跡は「いつ、どこにいたか」の日記そのもので、ちょっと中身を見たいだけなのにサーバーへ渡す理由はありません。解析はあなたのマシン上の Web Worker で動き、ページにアップロード先は存在せず、タブを閉じれば何も残りません。軌跡を地図の上ではなく無地の背景に描くのも同じ理由です。地図タイルを要求した時点で、ルートのある地域がタイルサービス側に伝わってしまうからです。

### FIT を GPX や CSV に変換

FIT から GPX への変換は GPX 1.1 のトラックを書き出し、心拍・ケイデンス・気温は Garmin の `TrackPointExtension` に収めます。Strava、Komoot、Garmin Connect をはじめ、ほとんどのルートツールが読める形式です。GPX にはラップ、機器イベント、developer fields、機器が計測した速度と距離を入れる場所がないため、これらは失われ、ページに失われた項目を列挙します。パワーには標準の GPX 要素がなく、チェックを入れると非標準の `<power>` として書き出せますが、スキーマ検証に通らなくなるため初期状態ではオフです。FIT も GPX も CSV に書き出せます。レコード1点につき1行、単位は列名に含めてあり（`ele_m`、`speed_mps`、`hr_bpm`）、そのまま CSV Explorer で開くリンクも用意しています。

### 数値の計算方法

獲得標高と下降は、前回カウントした地点から 3 m 以上変化したときだけ加算します。GPS のぶれが積もって山になるのを防ぐためです。Strava や Garmin Connect はそれぞれ独自の平滑化と標高ソースを使うので、合計が一致しないのは普通のことです。移動時間は、隣り合う2点間で 0.5 m/s 以上の速度が出ていた秒数だけを足し合わせます。距離はファイルが許す限り2種類示します。機器が記録した値（ホイールセンサーや機器側の GPS フィルタ）と、生の座標を点ごとに足し合わせた値です。

### パーサーが「分からない」と認める部分

FIT ファイルにはメーカー独自のメッセージが含まれ、そのメーカーのソフトでしか読めません。詳細セクションでは、メッセージ種別ごとの件数とフィールド名、developer fields の名前と単位、そして解読できないメッセージ番号を列挙します——分かったふりはしません。1レコードが壊れていてもファイル全体を捨てることはなく、解析できた点はそのまま表示し、スキップした件数を下に示します。FIT の時刻は UTC で保存されているため、ブラウザのタイムゾーンで表示しつつ UTC 値も併記します。GPX の時刻に末尾の `Z` も `+09:00` のような時差もない場合は、推測せず「タイムゾーン不明」と表示します。

## Limits

Does not load a map under the track, trim a privacy zone or read TCX files; it views and converts GPX and FIT files.

## FAQ

### GPX や FIT ファイルはどこかにアップロードされますか？

いいえ。ファイルはディスクから読み込まれ、ページ内の Web Worker で解析されます。サマリー、軌跡の描画、グラフ、変換後のファイルはすべてローカルで生成されます。サーバーもアカウントも介在せず、ルートの場所が漏れるような地図タイルの要求も一切行いません。

### 獲得標高が Strava や Garmin Connect と違うのはなぜ？

唯一の正解がないからです。各プラットフォームは標高ソース（ファイル内の気圧計か、座標から引いた地形モデルか）と平滑化の方法をそれぞれ独自に選んでいます。このページはファイル内の標高を使い、前回カウントした地点から 3 m 以上動いたときだけ加算します。その規則はページに明記してあるので、同じ基準で比較できます。他のプラットフォームと合計が食い違うのは普通のことで、不具合ではありません。

### FIT を GPX に変換すると何が失われますか？

ラップ、機器イベント（一時停止やボタン操作）、Connect IQ アプリの developer fields、機器が計測した速度と距離、そして非標準オプションにチェックを入れない限りパワーです。心拍、ケイデンス、気温、標高、時刻は Garmin の `TrackPointExtension` に残ります。開いたファイルについて失われる項目をページに列挙するので、必要なものがあれば元の `.fit` を残しておいてください。

### 軌跡の下に地図がないのはなぜ？

意図的です。ルートの下に道路を描くには、あなたがいた地域そのものをタイルサーバーに要求することになり、自宅や職場、いつもの練習コースの位置を第三者に渡してしまいます。代わりに軌跡は無地のキャンバスへ縮尺どおりに描き、スケールバーと北矢印を添えています。ルートの形を見分けたり GPS の飛びを見つけたりするには十分です。

### スタート付近の点を削れば、Strava に自宅はバレませんか？

保証はできません。そもそも現在のバージョンにはトリミング機能がなく（後の段階で予定しています）、仮に削ったとしても安全とは言えません。時刻、出発した方向、データが始まる地点はプラットフォーム側に見えたままで、他のアクティビティと突き合わせれば推定できてしまいます。Strava、Garmin Connect、Komoot にはそれぞれプライバシーゾーン機能があり、自分の統計はそのままに他のユーザーから該当エリアを隠せるので、そちらを使うのが確実です。

### 距離が2つ表示されるのはなぜ？

片方は機器が記録した値で、通常はホイールセンサーか機器側の GPS フィルタによるもの。もう片方は生の座標を点ごとに足し合わせた値です。自転車ではホイールセンサーのほうが正確で、低速時は GPS のぶれが座標の合計を水増しします。両方を示すことで、アップロード先のプラットフォームがどちらに近いかが分かります。

### GPX に変換するとき、パワーのオプションはチェックすべき？

読み込み先のツールが対応していると分かっている場合だけです。GPX にはパワーの標準要素がなく、ここで書き出す `<power>` は GPX 自身の名前空間に置かれるため、厳密なバリデーターはファイルを拒否します。Strava や大半のルートプランナーに使うならオフのままに。パワーが必要なら CSV に書き出すか、`.fit` を残してください。

### 時計の FIT ファイルが他で開けません。中に何が入っていますか？

ここで開いて詳細セクションまでスクロールしてください。メッセージ種別ごとの件数とフィールド、developer fields の名前と単位、パーサーが理解できないメーカー独自メッセージの番号が並びます。ファイルの一部が壊れていても解析できた点は表示され、スキップした件数が下に出ます。

## Related tools

- [CSV Explorer](https://bytescope.dev/ja/csv-explorer.md) — 書き出した CSV を並べ替え・絞り込みできる表として開き、SQL でも調べられます。
- [Remove EXIF](https://bytescope.dev/ja/remove-exif.md) — 写真を共有する前に、GPS 座標などのメタデータを取り除きます。
- [File Type Identifier](https://bytescope.dev/ja/file-type.md) — 正体不明のファイルは、拡張子ではなく中身のバイト列から判定できます。
