Workout Import & Export
You can move workouts into FitNotes by pasting either the app’s workout JSON format or a simple text export. The importer runs from the workout screen and will only add a workout to an empty day.
Export a Workout (Text)
- On the workout screen, tap the
(…)button in the top left, then choose Share → Text. - Save the text to Files or email it to yourself. The export includes workout notes, exercise order, sets, and set notes using your preferred units.
- You can edit that text and re-import it later using the steps below.
Import a Workout
- Switch to the calendar date where you want the workout to land (the importer will not overwrite an existing workout).
- Tap
(…)→ Import Workout. - Paste either FitNotes workout JSON or the plain-text format described here, then tap Import.
FitNotes Workout JSON
- If you have unstructured text, the FitNotes iOS Workout Converter GPT can turn it into valid workout JSON for pasting into the importer.
- Required shape:
typemust beworkout;exercisesis an array of exercise entries; each entry has anexerciseblock plussets. - Common fields:
exercise.nameandexercise.category.nameare required;exercise.kindis numeric (3 = weight + reps, 2 = reps-only, 8 = time-only, 12 = distance + time are the most common).- Units:
exercise.unitaccepts"lb"or"kg". Set weights can beweightLbsorweightKg(include one or both). - Sets can include
reps,time(seconds),distance,distanceUnit(1 = miles, 2 = meters, 3 = kilometers, 4 = feet, 5 = yards, 6 = centimeters, 7 = inches),rir,rpe,notes, andisWarmup. supersetis a string id; sets with the same value are linked into a superset.
- Example workout JSON:
{
"type": "workout",
"notes": "Upper body session",
"exercises": [
{
"exercise": {
"name": "Bench Press",
"category": { "name": "Chest" },
"kind": 3,
"unit": "lb"
},
"superset": "A",
"sets": [
{ "weightLbs": 135, "reps": 8, "isWarmup": true },
{ "weightLbs": 185, "reps": 5, "rir": 1 }
]
},
{
"exercise": {
"name": "Pull Up",
"category": { "name": "Back" },
"kind": 2
},
"superset": "A",
"sets": [
{ "reps": 10 },
{ "reps": 8 }
]
}
]
}
Plain-Text Import Format
- Mirrors the Share → Text export; easiest for quick edits.
- Optional first line
FitNotes Workoutand an optional date line (containing a comma) are ignored. - Each exercise starts on its own line (for example,
Bench Press). The following lines are sets:100 lb x 5or40 kg x 5for weight + reps.x 12for reps-only sets.1:30or00:45for time-only sets (minutes:seconds, hours optional).
- Add notes with
> Note text. A note after a set attaches to that set; after an exercise name it becomes exercise notes; before any exercise it becomes workout notes. - Separate exercises with a blank line. Supersets, RPE/RIR, rest times, and distance are not captured in text; use JSON if you need those. Warmups are auto-guessed when names or notes mention words like “warm” or “stretch”.