Unchain
Unchain — Workout Builder

Drag across the grid to draw a target profile, then export it as a file your trainer app already reads.

s
W
Total 20:00
Power target — 0–500 W
Drag vertically to set a value, sideways to draw across intervals. Hold Shift near an interval's start/end to drag a linear ramp there instead of a flat step. Hover an interval, then press C to cut there, M to add a text marker, Del/Backspace to delete it. Drag the ⋮ handle at either shaded edge to resize Warm-up/Cool-down — everything between exports as SteadyState.
.erg

Absolute watts, minute-by-minute. Reads directly as a Power target.

.mrc

Percent of the FTP above, minute-by-minute. Same shape as TrainerDay's exports.

.zwo

Zwift-style XML — Warmup/SteadyState/Cooldown blocks, adjacent equal intervals merged into one.

Preview — .erg
Drag a .erg/.mrc/.zwo file onto this field to load it, paste its contents, or type shorthand instead, e.g. "10min 60%FTP, 4x(5min 105%FTP, 3min 50%FTP)" (bike) or "5min 8km/h, 5x(3min 10km/h 6%, 2min 6km/h)" (treadmill) — durations: min/sec/h; distances: m/km/mi/yd/ft; speed: km/h or mph.