A collection of structured indoor cycling workouts in .zwo format, designed for time-crunched cyclists who want effective training sessions.
This repository contains 30 structured cycling workouts (20-35 minutes each) that you can use with:
- TrainingPeaks
- Wahoo ELEMNT
- Zwift
- Any platform that accepts
.zwofiles
Perfect for cyclists who:
- ✅ Have limited training time
- ✅ Want a basic collection of structured workouts
- ✅ Need variety in their training
- ✅ Train on smart trainers or with power meters
Traditional zone-based training for general fitness and endurance.
Categories:
- Recovery (2 workouts) - 55% FTP
- Endurance (2 workouts) - 65% FTP
- Tempo (2 workouts) - 75% FTP
- Sweet Spot (4 workouts) - 88-90% FTP
- Threshold (2 workouts) - 95% FTP
- VO2max (4 workouts) - 115-120% FTP
Performance-focused workouts inspired by Wahoo's Four-Dimensional Power methodology.
Categories:
- FTP/Endurance (4 workouts) - Sustained power, 75-100% FTP
- MAP/Attack (4 workouts) - VO2max intervals, 110-120% FTP
- AC/Breakaway (3 workouts) - Anaerobic capacity, 135-150% FTP
- NM/Sprint (3 workouts) - Neuromuscular power, max efforts
-
Set your FTP in TrainingPeaks:
- Login to trainingpeaks.com
- Settings → Zones → Bike Power → Enter your FTP
-
Import workouts:
- Go to Workout Library
- Create a new folder
- Click ⋮ (three dots) → "Workout Import"
- Select the
.zwofiles you want
-
Use with Wahoo:
- Connect TrainingPeaks in Wahoo app (Settings → Authorized Apps)
- Workouts sync automatically
- Drag workout to calendar → appears in Wahoo app
Download individual workouts or entire collections:
- Download All Workouts (ZIP)
- Individual files in
/workoutsfolder
| Your Goal | Recommended Collection |
|---|---|
| General fitness | Classic Zones |
| New to structured training | Classic Zones |
| Coming back from a break | Classic Zones |
| Performance/racing | 4DP-Style |
| Specific weakness training | 4DP-Style |
| Sprint improvement | 4DP-Style (NM workouts) |
| Mix of both | Use both! |
Beginner (Classic Zones):
Mon: Recovery 30min
Wed: Sweet Spot 30min
Fri: VO2max 25min
Weekend: Endurance or off
Intermediate (Mixed):
Mon: Off or Recovery
Tue: FTP Sustained 25min (Classic)
Thu: MAP Attack 20min (4DP)
Sat: Sweet Spot 35min (Classic)
Sun: Endurance or off
Advanced (4DP Focus):
Mon: Off
Tue: FTP Over-Under 35min
Thu: AC Breakaway 20min
Sat: MAP Pyramid 30min
Sun: FTP Endurance 20min (recovery)
File Format: .zwo (Zwift Workout)
- Open XML format
- Power targets as % of FTP
- Compatible with most training platforms
FTP-Based: All workouts scale to your FTP
- Update FTP once → all workouts adjust automatically
- No need to modify individual files
Tested With:
- ✅ TrainingPeaks (import via Workout Library)
- ✅ Wahoo ELEMNT (via TrainingPeaks sync)
- ✅ Zwift (native .zwo support)
- ✅ Most smart trainers in ERG mode
Found a bug? Have a workout idea? Contributions welcome!
- Fork the repository
- Create your feature branch (
git checkout -b feature/new-workout) - Commit your changes (
git commit -am 'Add new workout') - Push to the branch (
git push origin feature/new-workout) - Open a Pull Request
Workout Submission Guidelines:
- 20-35 minutes duration
- Clear focus/goal
- Tested on actual trainer
- Follows
.zwoformat standards
This project is licensed under the MIT License - see the LICENSE file for details.
Summary: Free to use, modify, and distribute. No warranty provided.
- These workouts are not affiliated with Wahoo, TrainingPeaks, or Zwift
- Created by the community, for the community
- Always consult a physician before starting a new training program
- Listen to your body - adjust intensity as needed
- FTP values are estimates - get tested for accuracy
- Inspired by Wahoo's 4DP methodology
- Training zone concepts from traditional periodization
- Community feedback and testing
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: [your-email] (optional)
⭐ If these workouts help you, consider giving the repo a star!
Made with ❤️ for the cycling community