A tool for downloading health metrics from Garmin Connect to CSV/Excel files, with both desktop and command-line interfaces. Includes a Windows installer release.
Running the utility on Windows:
Simple utility to download daily data from Garmin and store it in an Excel sheet (XLSX) or CSV.
Windows installer:
JG Garmin to Excel Windows installer.
Garmin data output in Excel sample:
Garmin data output example.
- Sync daily health metrics from Garmin Connect
- Export to CSV and XLSX formats
- Desktop application with user-friendly interface
- Command-line interface for automation
- Docker support for containerized deployment
- Secure credential handling
- Configurable date ranges
- Dark theme optimized UI
- Sleep metrics (score, duration)
- Weight and body fat
- Blood pressure
- Calories (active and resting)
- Heart rate metrics
- Stress levels
- VO2 Max (running and cycling)
- Activity summaries
- Training status
- And more...
- Download the Windows installer from the Releases https://github.com/jagbanana/jg-garmin-excel-csv/releases
- Run the installer.
- Clone the repository:
git clone https://github.com/yourusername/garmin-sync.git
cd garmin-sync
- Install Python dependencies:
python -m venv venv
source venv/bin/activate # Linux/Mac
# or
.\venv\Scripts\activate # Windows
pip install -r requirements.txt
- Install Node.js dependencies:
npm install
Run both the backend and frontend with a single command:
npm run dev
JG-GARMIN-EXCEL-CSV/
├── backend/ # Python FastAPI backend
│ ├── src/
│ │ ├── api/
├── frontend/ # Electron-based frontend
│ ├── src/
│ │ ├── assets/ # Icons and images
│ │ ├── js/ # Frontend JavaScript
│ │ └── styles/ # CSS files
├── logs/ # Application logs
└── screenshots/ # Documentation images
- Backend:
- Python 3.9+
- FastAPI
- garminconnect
- Frontend:
- Electron
- HTML/CSS/JavaScript
- Custom date picker and UI components
- Build Tools:
- electron-builder
- PyInstaller
- Clone the repository
- Install Python dependencies: pip install -r requirements.txt
- Install Node dependencies:
cd frontend
npm install
- Start the backend server and frontend Electron app
npm run dev
- Fork the repository
- Create a feature branch: git checkout -b feature/your-feature
- Commit changes: git commit -am 'Add your feature'
- Push to branch: git push origin feature/your-feature
- Submit a Pull Request
MIT License - see LICENSE file for details
This application handles sensitive login credentials. Always:
- Use environment variables for credentials
- Never commit .env files
- Use secure storage for desktop app credentials