A web application to export your Strava activities to GPX, TCX, or FIT formats. Export multiple activities at once, making it easy to import them into platforms that don't support direct Strava sync.
- π Strava OAuth: Secure authentication with your Strava account.
- π Activity Browser: View all your activities with search, filters, and sorting.
- π₯ Multiple Formats: Export to FIT (original), GPX, or TCX.
- π¦ Batch Export: Download multiple activities at once as a ZIP file.
- π― Smart Filters: Filter by sport type, date range, or activity name.
- π·οΈ Custom Filename Template:
Define your own naming pattern using variables like
{date},{name},{type}, and{id}, with selectable date formats.
- Backend: Node.js 18+, Express
- Frontend: Vanilla HTML, CSS, JavaScript
- APIs: Strava API v3
- Libraries: JSZip (client-side ZIP generation)
git clone https://github.com/luisandrelemos/strava-activity-exporter.git
cd strava-activity-exporter- Go to Strava API Settings
- Create a new application:
- Application Name: Any name
- Website:
http://localhost:3000 - Authorization Callback Domain:
localhost
- Copy your Client ID and Client Secret
cp .env.example .envEdit .env with your credentials:
STRAVA_CLIENT_ID=your_client_id
STRAVA_CLIENT_SECRET=your_client_secret
Requires Node.js 18 or higher (uses the native
fetchAPI)
npm install
npm startOpen http://localhost:3000 in your browser.
/public
/css β stylesheets
/js β frontend JavaScript modules
/img β images and icons
server.js β Express server with OAuth handling
| Format | Description |
|---|---|
| FIT | Original file from your device |
| GPX | GPS track with coordinates and elevation |
| TCX | Training data with heart rate, cadence, and power |
Click the βοΈ button next to Download to configure how exported files are named.
Available variables:
| Variable | Description | Example |
|---|---|---|
{date} |
Activity date | 2026-02-23 |
{name} |
Activity name | Morning_Run |
{type} |
Sport type | Run |
{id} |
Strava activity ID | 12345678 |
Date formats: YYYY-MM-DD, YYYYMMDD, DD-MM-YYYY, MM-DD-YYYY
Default template: {date}_{name} β 2026-02-23_Morning_Run.gpx
Note: Custom filenames apply to GPX and TCX exports only. FIT (original) files are downloaded directly from Strava and cannot be renamed.
Strava API limits:
- 100 requests / 15 minutes
- 1000 requests / day
The app handles rate limiting automatically.
MIT
Made with β€οΈ by LuΓs Lemos


