Skip to content

Switch from Hevy without losing your history

Move your Hevy training log across without starting from zero.

How to export from Hevy

  1. Open Hevy and go to your profile, then tap the settings gear.
  2. Choose "Export & Import Data".
  3. Export your workout data. Hevy hands the file to your share sheet or emails it to you.
  4. Save the CSV somewhere you can reach it from this device, then upload it from Settings, under Import your history.
  • Pick the workout data export. Hevy keeps measurements in a separate export, and that one is not imported yet.
  • The file names its weight column after your unit setting. Either one imports correctly.

What comes across

  • Every logged workout with its date, name and notes
  • Every set: weight, reps, RPE, distance and duration
  • Warm-up sets, kept as warm-up sets
  • Drop sets, kept as drops of the set before them
  • Superset grouping, shown on the workout in your history

What your export cannot carry

  • Hevy timestamps carry no timezone, so times are read as local wall-clock at the moment you logged them.
  • Failure sets arrive as working sets.
  • A workout you already imported is skipped on a re-import, so it keeps the shape it was first imported with.
  • Body measurements live in a separate Hevy export that is not imported yet, so they stay behind.

Each of these comes from the export file's own format. Anything the file does not contain is reported to you in the preview rather than filled in.

What imported data counts for

Your history, personal records, charts and analytics come with you. Ranks, XP and achievements are earned here, so imported sessions never move them.

Ranks, XP, achievements, streaks and leaderboards count only what you log here, so an imported spreadsheet can't put anyone at the top of a board. Everything that describes your training rather than scoring it, which is your history, your personal records, your charts and your analytics, uses your imported data from day one.

How the import works

Upload a CSV file and nothing is written yet. You get a preview first: how many rows of each kind, the date range they cover, which names matched automatically, and which need a decision from you.

When you approve it, the rows are written and stamped as part of that import. If a day already has an entry you made yourself, your own entry wins and the imported row is skipped, and the skip is counted and shown rather than quietly dropped.

Changed your mind? One button removes every row that import created and leaves everything else alone. You can upload the same file again months later too. Rows that already exist are skipped instead of duplicated, so you only ever gain what is new. A day is one row, so a day you imported part-way through keeps what it had then, even if a later export has more of it.

Your file, and how long we keep it

The uploaded file is stored privately for a short retention window so an import can be retried, then deleted. Undo keeps working after that, because it is keyed to the import rather than the file. Your account holds the data, and you can export it or delete your account at any time.

Frequently asked

Where does the export live in Hevy?

Under your profile, in Settings, as "Export & Import Data". Choose the workout export: the measurements export there is not imported yet.

Will my Hevy exercise names match up?

Most of them match automatically. Anything ambiguous is shown to you before a single row is written, and you decide what it maps to or leave it out.

Can I undo an import?

Yes. Every row an import writes is stamped with that import, so one button removes all of it and leaves anything you logged yourself untouched. You can also upload the same file again later. Rows that already exist are skipped rather than duplicated.

Bring your Hevy history with you

Create an account, upload your export, and see exactly what will be added before anything is saved.

Hevy is a trademark of its owner. MuscleBuddy is not affiliated with, endorsed by, or sponsored by Hevy. Export steps are as documented by that app at the time of writing and can change.