SportsTracker is an application for people who want to track their
sporting activities. It is not bound to a specific kind of sport, the user
can create categories for all sport types such as cycling, running, swimming
The main advantage is a good overview of your exercises, you can easily
create diagrams and statistics for specific date ranges and sport types. In
the calendar you can also track your body weight or create note entries, e.g.
the training plan or upcoming sport events.
All the application data is stored in XML files. So it is very easy to
access them with other tools or to write importers and exporters for other
applications. The users data can be exported to a SQLite database as well.
If you are using a heartrate monitor with a computer interface you can
display the recorded exercise files and evaluate the diagrams with the
integrated ExerciseViewer application.
You can organize them by attaching the recorded files to the exercise
entries. When adding new exercises you can import the data from the
recorded exercise files.
ExerciseViewer supports Polar,
Kalenji heartrate monitors.
This is the current compatibility list (other monitors might work too,
but I can't test them, user feedback is welcome):
- Polar S610(i), S710(i), S720i, S725 (tested)
- Polar S510, S520 (tested)
- Polar S410, S625x (tested, HRM files only)
- Polar RS200SD (tested)
- Polar RS400, RS800 (initial support)
- Polar CS600 (tested, HRM files only)
- Polar F6, F11 (tested)
- Polar RCX3 (tested, HRM files only)
- CicloSport HAC4, HAC4Pro, HAC5 (tested)
- Garmin Edge (tested with Edge 500, 520, 530, 705, 820, FIT and TCX files)
- Garmin Forerunner (tested with Forerunner 35, 305, 910XT, 645, FIT and TCX files)
- Garmin Oregon (tested with Oregon 450, GPX files)
- Garmin Fenix (tested with Fenix 2, 5X, 6, 6S Pro, FIT files)
- Timex Ironmen Race Trainer (tested)
- Timex Ironmen Run Trainer (tested)
- Timex Ironmen Global Trainer (tested)
- Suunto Ambit (tested with Ambit2, downloaded GPX files)
- Suunto Spartan (tested with Spartan Sport Wrist HR Baro, FIT files)
- Oregon Scientific SmartSync WM100 (tested)
- HOLUX FunTrek (tested with FunTrek 130, GPX files)
- Some Sony Ericsson mobiles (tested with W580i)
- W Kalenji 300, CW Kalenji 700 (tested, GPX imports)
- All devices recording GPX files (tested some models)
Users of heartrate monitors with an integrated GPS receiver (e.g. the Garmin
Edge series) can also view and replay the track of the recorded exercises in the
interactive map viewer component.
SportsTracker itself is not able to download the exercise files from the
heartrate monitor. Some monitors (e.g. Garmin) allow the direct download via
USB. For other monitors you might need one of these tools:
- 2022/01/02: Version 7.9.0 has been released, which contains some new features
in the ExerciseViewer. Power data from FIT files (e.g. Garmin) can now be displayed
(if recorded) in various panels (e.g. in Diagram). Heartrate zones are now supported
for FIT files and can be displayed in the Main and Diagram panels. The Main panel
now also displays the sport type if present (e.g. for Garmin and Polar files).
In addition there were several updates (e.g. JDK 17, Kotlin 1.6) and bugfixes.
The list of all changes can be found in the changelog.
- 2021/06/26: The SportsTracker release package downloads have been finally migrated from SourceForge to the GitHub SportsTracker project page. From now all project resources are available on this central place. You can find the downloads on the Releases page.
Initially only the packages of the latest release 7.8.0 have been migrated. Please contact me if you need previous package versions for some reasons.
The SportsTracker project page at SourceForge has been closed, since it has been used for the package downloads only.
- 2021/04/06: Users of macOS and Windows 10 might have problems when using the
native installer packages, because these don't contain trusted code signing
certificates. These can't be provided by an individual open source project, the
expense and the effort are just too high. However, there are easy workarounds for
using the installers anyway, these are documented in the latest README.txt, chapter 'Installer security notes for macOS and Windows 10 users'.
- 2021/04/05: Version 7.8.0 has been finally released and it contains a lot of
changes since the previous release. Users can now track the usage and the age of
their equipment (e.g. running shoes) by using the Equipment Usage dialog. Replaced
equipment can now be marked as inactive. The Exercise dialog reminds the user when
no equipment has been selected.
The ExerciseViewer supports newer devices (e.g. Garmin Fenix 5/6, Suunto Spartan)
and contains many bugfixes for the existing parsers.
Internally Java has been updated to version 16, which provides interesting new
language features. All libraries have been updated to their latest releases.
As always, the list of all changes can be found in the
- 2019/07/13: Version 7.7.0 has been released and it provides some nice new
features. In Exercise Viewer the Track Panel displays an altitude chart below
the track, so the user can locate the climbs and descents easily on the map.
The Diagram Panel shows colored slopes in the altitude chart, there are multiple
colors for the slope percentage ranges (thanks to Francois Kneib).
Withdrawn equipment such as worn shoes or replaced bikes can be marked as 'not
in use', so there are no long equipment selection anymore. And SportsTracker
checks now automatically for application updates on each startup.
This update also contains several minor improvements and bugfixes, the Kotlin
migration has progressed too. The list of all changes can be found in the
- 2019/02/07: Version 7.6.0 has been finally released, which contains some
long requested features. The user can now define for each sport type separately
whether speed data is handled as speed or pace (e.g. for running). Alex Jarosch
has provided support for descent exercise data (similar to ascent) and improved
support for cadence and steps handling in
Garmin FIT exercise files.
The Java runtime has been updated to version 11.0.2 (uses
AdoptOpenJDK now) and Kotlin to version
1.3. Because of the removed packaging system in Java 11, the packaging for
Windows, macOS and Linux has been completely rewritten. And the reported macOS
10.14 problems have been fixed in the updated
The list of all changes and bugfixes can be found in the
- 2018/11/03: Warning for all macOS users: after updating macOS to 10.14
(Mojave) you will get crashes of the SportsTracker application. This is caused
by a known bug
in JDK / JavaFX, which has not been fixed yet.
There's a manual workaround to avoid the crashes: Open "System Preferences" and
select "Security > Privacy > Accessibility". There you need to add the installed
SportsTracker application to the list.
- 2018/03/30: Version 7.5.0 has been released. There are many improvements
and bugfixes in the Exercise Viewer, e.g. the Diagram Panel is now easier to
read due to transparent area charts instead of line charts. And it also displays
an average line now. The support for exercise files from Garmin monitors has
been improved too, if you had problems you need to test this version again.
This update also contains many internal changes, Java has been updated to 9/10
and all unit tests are now using JUnit 5. The creation of native installation
packages has been rewritten, Windows users need to use the 64bit version now
(Java 10 is for 64bit only).
The list of all changes and bugfixes can be found in the
- 2017/10/01: Version 7.4.1 is out, which provides minor feature
updates and exercise file parser improvements. Users of recent or
updated Garmin devices need this update, otherwise new recorded
exercises might not be displayed anymore.
The Exercise Viewer component has been rewritten completely in
Kotlin (except for some Java parsers),
Groovy is not used anymore. This provides less code, better fault
tolerance and an improved maintainability. The Diagram Panel has been
improved as well, the graphs are better readable now.
As always, the list of all changes and bugfixes can be found in the
SportsTracker is an application for the
Java platform written in Java and Kotlin.
It was developed and tested with the OpenJDK JVM,
other JVM implementations will probably work too.
The SportsTracker installer packages contain an embedded Java SE Runtime
Environment (JRE), a Java installation is not needed. Users of binary packages
need to install the JRE before, the OpenJDK can be downloaded e.g. from the
AdoptOpenJDK project website.
If you want to download exercise files from your heartrate monitor you
might need one of the tools listed above.
The application was tested on GNU/Linux (e.g.
Ubuntu 20.04), Windows 10, macOS (10.15, 11), although it should
work on all systems with the required Java Runtime Environment.
For Windows, Mac and some Linux systems there are native installer packages
available on the
GitHub project release page. They include an embedded JRE, so you don't need
to install Java before. The installers will create a menu entry for easy
If you are not using an installer, you need to download the ZIP archive with
the application sources and build the application locally. Please see the included
README.txt file for detailed installation instructions.
Please use the issue tracker on the
GitHub project page when you have comments, suggestions or problems with bugs.
If you want to contribute improvements or translations, feel free to
fork the GitHub
repository and submit Pull Requests. It would be great when bigger
changes could be discussed before starting the implementation.
This program is free software; you can redistribute it and/or modify it under the
terms of the GNU General Public License
as published by the Free Software Foundation; either version 2 of the License, or (at your
option) any later version.