.ZWO, .MRC and .ERG: Workout Files Explained
A workout file is a list of intervals with a target for each one. .ZWO is Zwift's XML format and expresses targets as a percentage of FTP; .MRC and .ERG are older plain-text formats, where .MRC uses percentages and .ERG uses absolute watts. ENDURE imports all three and rides them in ERG mode.
What is in a workout file?
Nothing more than structure: a sequence of segments, each with a duration and an intensity target, plus optional cadence hints and text prompts. That is what makes the formats portable — the file describes the session, and the app decides how to drive your trainer to it. It also means a session you wrote years ago in one app still works in another.
What does a .ZWO file contain?
A .ZWO is an XML file, so you can open it in any text editor and read it. Inside, segments appear as elements like SteadyState, IntervalsT, Warmup and Cooldown, with power expressed as a fraction of FTP — 0.95 means 95% of your FTP, not 95 watts. Because the targets are relative, the same file scales correctly to any rider who imports it.
How do .MRC and .ERG differ?
Both are plain-text formats from the earlier generation of indoor training software, and they share the same layout: a header block followed by rows of time and target. The difference is the unit, and it matters:
- .MRC specifies targets as a percentage of FTP, so the file adapts to whoever rides it — the same behaviour as .ZWO.
- .ERG specifies targets in absolute watts, so the file encodes the FTP of whoever created it. Import someone else's .ERG and the numbers will be their numbers, not yours.
- In practice: prefer .ZWO or .MRC when sharing sessions, and treat .ERG as fine for your own use or when you deliberately want fixed wattages.
How do you import a workout into ENDURE?
Open the file on your phone and hand it to ENDURE, or import it from the workout screen — either way it lands in your library alongside the curated sessions and can be ridden immediately. There is no conversion step and no desktop tool in between. All three formats behave the same way once imported.
What does ERG mode do with the file?
In ERG mode the app holds the target from the file by adjusting trainer resistance, so the session runs at the prescribed power whatever gear you are in. Two practical notes: cadence changes cause a brief lag while the trainer catches up, and if your power meter reports erratically, smoothing matters — ENDURE applies smart-smoothing so a spiky signal does not translate into resistance that surges and drops. Control happens over the Bluetooth FTMS standard, so it works with current smart trainers regardless of brand.
Can you convert between the formats?
You rarely need to, because ENDURE reads all three. If you do want to move a session, the relative formats (.ZWO, .MRC) convert into each other cleanly, while converting .ERG requires knowing the FTP it was written against — otherwise the intensities land somewhere arbitrary. That is the whole argument for keeping shared workouts in a percentage-based format.
Bring your workouts with you
Free on iOS and Android — import .ZWO, .MRC and .ERG files and ride them in ERG mode on any FTMS smart trainer.