How import matching and duplicates work

Every import — Hevy, Strong, JEFIT, Gript CSV, or AI — goes through the same review flow before anything is saved. Here is exactly what happens to your data along the way.

Gript also recognizes exports from FitNotes, StrengthLog, Fitbod, GymBook, SugarWOD, Fitness Point, Forge, StrongLifts, Lyfta, Motra, Ladder, Alpha Progression, SmartGym, Fitness Buddy, GymTracker, Strongineering, Bolt, FitSession, and HeavySet automatically — pick the file under Profile → Import Workouts and the same flow applies. StrongLifts exports keep every set. Pasted Japanese day-block training logs are read the same way: one workout per day, with every set, instead of a single collapsed session.

The three match levels#

Each exercise name in your file is compared against the Gript library and lands in one of three buckets:

Gript's Match Exercises screen with a summary bar of matched, partial, and unmatched exercises
The summary bar shows how many exercises were matched, partially matched, or unmatched.

Fixing a match#

Tap any card on the Match Exercises screen to change how it resolves:

Imported plans#

A file or AI import that turns out to be a training plan rather than completed sessions becomes routines, and those skip the Match Exercises screen. Gript still matches every exercise name against the built-in library first — exact names, and names that reorder the equipment, like "Rope Triceps Pushdown" for the library's "Triceps Pushdown (Rope)". A custom exercise is created only when nothing in the library is a reasonable match.

How duplicates are detected#

A workout from your file is skipped as a duplicate when a workout with the exact same completion time already exists in your history, or when an existing workout has the same name and finished within a minute of it. That means importing the same file twice — or re-importing after adding a few new workouts — never doubles your data. The confirmation screen tells you how many duplicates were skipped.

Gript's import confirmation screen listing workouts, sets, new exercises, and skipped duplicates
The confirmation summary — including new exercises and skipped duplicates — before anything is saved.

What is preserved#

Rows the parser cannot read (a malformed line, an unsupported column) are counted and reported as skipped rows on the confirmation screen — the rest of the file imports normally. AI import is stricter: if the AI returns only a fraction of what the file clearly contains, Gript retries and, failing that, stops with an error rather than saving a partial history.

A few details are filled in for you. A file with no dates but a date in its name (workout_2026-09-14.csv) is dated from the file name. Cardio rows keep their distance instead of losing it into the reps column. Durations written out in words ("59 minutes 32 seconds") and per-set rep lists such as 8-8-7-6 are read as intended.

Did this answer your question?

Don't have Gript yet? Everything in this guide is free to try — download it and log your first workout in under a minute.

Download on the App StoreGet it on Google Play
I feel that every single time I open the app there is a new feature. Thanks for making it better every day.
Shoshana M. · App Store

You're already in Gript

Everything on this page is also available inside the app — this article opens from Help, and the calculators live under Tools.