Skip to content

Simple open-source tool for batch converting Garmin/Polar FIT files to CSV (macOS Automator app + Python script)

License

Notifications You must be signed in to change notification settings

olefredrik/fit2csv

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

fit2csv

Convert multiple .FIT files into .CSV with a simple macOS GUI wrapper and a clean Python batch converter.

License: MIT Platform Status


📚 Background

The idea for this project came from my own training routine. Over the years, my Apple Watch has logged more than 300 workouts, which I explore using the HealthFit app. When I started playing with the idea of building an AI-based personal coach, I realized I needed all my previous workouts in a clean CSV format.

It turned out that no free tool existed for converting large batches of .FIT files to .CSV.
So… I built one. With some help from AI.

It’s simple, but it works. And if it helps others too, that’s even better.


🚀 Features

  • Batch convert .FIT.CSV
  • macOS GUI wrapper using Automator
  • Automatic output folder creation (csv_out)
  • Notifications on completion
  • Opens output folder automatically
  • Custom duotone runner icon
  • Fully documented build instructions

📦 Installation (Download App)

Download the latest version here:

👉 https://github.com/olefredrik/fit2csv/releases/latest

Unzip, run the app, and select your folders.


🛠 Building the macOS App Yourself

If you want to build the Automator app locally or modify it:

See:
📄 mac-app/README_APP.md

This document explains:

  • How to embed the Python script
  • How to apply the custom icon
  • How to update Info.plist
  • How to refresh macOS icon cache

🧩 Python Script (CLI Use)

If you prefer to run the converter directly:

pip install fitdecode
python3 src/fit2csv_batch.py <input_dir> --out <output_dir>

Example:

python3 src/fit2csv_batch.py ~/Downloads/FIT --out ~/Desktop/csv

📁 Repository Structure

fit2csv/
├── src/
│   └── fit2csv_batch.py
├── mac-app/
│   ├── README_APP.md
│   └── icon.icns
├── CHANGELOG.md
├── LICENSE
└── README.md

🧭 Roadmap

Planned / exploratory ideas:

  • Improving the macOS GUI interface
  • Optional settings for output naming
  • Making the Automator wrapper more interactive

(See CHANGELOG.md for detailed version history.)


🤝 Contributing

Contributions are welcome!
Feel free to open an issue or a pull request.


📄 License

MIT License.
See LICENSE for details.


🎵 Bonus: A Completely Unnecessary Country Ballad

“Every good open source project needs documentation.
But only the great ones need a heartfelt country love song.”

Introducing ...

A romantic, over-the-top, full-hearted love song about FIT-to-CSV conversion.

Complete with:

  • acoustic guitar
  • soft fiddle
  • a man singing his feelings about batch conversion
  • and a surprisingly catchy chorus

🎧 Listen here:
👉 https://suno.com/s/Lf6rE0SjtJsMApv8

And yes, the song will get stuck in your head. Sorry. Not sorry.

About

Simple open-source tool for batch converting Garmin/Polar FIT files to CSV (macOS Automator app + Python script)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages