Import Hevy
Import your Hevy workout history into Anneal
Hevy exports your workouts as one CSV. Anneal reads that file directly: every workout, exercise and set, with weights in the unit you logged them in.
Export your history from Hevy
In the Hevy app (iOS and Android)
- Open the Profile tab and tap Settings.
- Tap Export & Import Data, then Export Data.
- Choose Export Workouts. Hevy produces a CSV of your workouts. Measurements are a separate export and are not needed here.
- Save the CSV somewhere your phone can open it, such as Files, Google Drive or an email to yourself.
Steps read from the Hevy Help Centre article "How to Import Strong App CSV Files and Export Your Data in Hevy" (help.hevyapp.com) on 2026-11-05.
Import it in Anneal
- Install Anneal and sign in.
- Open Settings, then Notifications & privacy, then Import workout history under Your data.
- Pick the CSV, or paste its contents. Anneal reads the file and shows every workout and exercise it found before anything is saved.
- Review the exercise names it could not match, pick the Anneal exercise for each or confirm a new custom one, then import.
Importing is free. Anneal matches your exercise names against its built-in library, and a library match uses nothing. A name that does not match becomes a custom exercise after you confirm it, and a free account has 5 custom exercise slots. Match more names to existing exercises on the import screen if you run out.
What Anneal reads from the file
These are the columns the importer uses. Extra columns are ignored, so a newer Hevy export with more fields still works.
| Column | What Anneal does with it |
|---|---|
title | Workout name |
start_time | Workout start. Rows sharing a title and start time become one session. |
end_time | Workout end, used for the session duration |
exercise_title | Exercise name, matched against the Anneal library |
set_index | Set order inside the exercise |
set_type | normal, warmup, dropset or failure. Each flag is kept. |
weight_kg or weight_lbs | Weight. The column name tells Anneal the unit, so the file follows your Hevy unit setting. |
reps | Repetitions |
duration_seconds | Seconds, for timed sets |
distance_km or distance_miles | Distance, for cardio sets |
rpe | RPE, kept when it is between 1 and 10 |
Not read: description, superset_id, exercise_notes.
The unit comes from the column name (weight_kg or weight_lbs), so weights land exactly as Hevy stored them. Anneal shows them in your own unit afterwards.
What transfers
- Every finished workout with its name, start time and duration
- Every exercise and set: weight, reps, seconds, distance, RPE
- Warm-up, drop set and failure flags
What does not transfer
- Workout descriptions and exercise notes
- Superset grouping
- Routines and templates (rebuild them in Anneal, or let Anneal generate a split)
- Body measurements (Hevy exports those as a separate file that Anneal does not read)
- Photos
Worth knowing
- Hevy imports only Strong CSV files, so a Hevy export cannot be loaded back into Hevy. Anneal reads the Hevy export as is. (Hevy Help Centre, read 2026-11-05.)
Common questions
Does Anneal need my Hevy app set to English?
No. Anneal reads the columns by their header names, which Hevy writes in English whatever the app language. Exercise names in another language will not match the library and would become custom exercises, so switch Hevy to English before exporting if you can.
Will my Hevy exercise names match?
Most do. Anneal compares names as a bag of words, so "Bench Press (Barbell)" matches "Barbell Bench Press". Anything left over is listed on the import screen, where you pick the matching Anneal exercise or confirm a new custom one.
Can I import twice?
Yes. Anneal skips sessions it already has, so re-importing a newer export only adds the new workouts.