Generic strength CSV format

If you keep your lifts in a spreadsheet, a paper notebook you scanned, or a strength app that isn't Hevy, Strong, or a Garmin watch, you can still upload to Baseline — as long as the file is a CSV with a handful of expected columns. This page defines that format so you can produce one yourself.

Can you export this data?

Not applicable — this is the format specification, not a vendor export guide. If you already have a spreadsheet of lifts, save it as CSV (UTF-8) and use the column names below.

Step-by-step

  1. 1Create a spreadsheet (or open your existing one) with one row per set.
  2. 2Name the columns exactly: `date`, `exercise`, `weight_kg`, `reps`. Optional columns: `rpe`, `warmup`, `unit`, `notes`.
  3. 3Fill `date` as an ISO date (YYYY-MM-DD) or ISO datetime (YYYY-MM-DDTHH:MM:SSZ). Baseline interprets bare dates as midnight UTC.
  4. 4Fill `exercise` with the movement name — use the same name each time you do that lift so Baseline can pair sets across sessions.
  5. 5Fill `weight_kg` in kilograms. If you lift in pounds, either convert to kg before saving, or add a `unit` column containing `lb` on those rows.
  6. 6Fill `reps` with an integer number of reps completed. Fractional reps are not supported.
  7. 7Save as CSV (UTF-8) and upload to Baseline. Baseline auto-detects the strength CSV shape from the header row.

What’s in the file

A single CSV file, UTF-8, comma-separated. Header row required. Baseline is tolerant of extra columns — anything beyond the expected fields is ignored and preserved in the raw record.

What Baseline does with it

Baseline turns each row into a working set, groups sets by date into sessions, canonicalises the exercise name into the Big Four where possible (accepting "squat", "back squat", "low bar squat", etc. as the same lift), and computes an estimated one-rep max using the Epley formula. From there it produces the same per-lift PBs, DOTS total, and bracket percentiles you would get from a Hevy or Strong export. Rows with `warmup` set to `true` (or `1`, or `y`) are excluded from PBs but count toward total tonnage.

Common issues

  • Excel sometimes writes CSVs with semicolons instead of commas depending on your locale. Baseline accepts both.
  • Dates like `05/06/2026` are ambiguous (5 June vs 6 May depending on locale). Always use ISO format (`2026-06-05`) to avoid guessing.
  • If Baseline reports zero strength sessions from your file, the most likely cause is a missing header row. The parser reads the first row as column names.

Privacy note

Your strength CSV is parsed in your browser and discarded when the tab closes. Only the derived strength metrics — e1RMs, DOTS, PBs and volume — are ever sent to Baseline's servers, and only if you sign in and choose to save. The raw CSV is never uploaded.

Frequently asked

Do I have to use exactly these column names?
The header names above are the ones Baseline recognises without guesswork. It also accepts a small set of common synonyms (`weight`, `kg`, `date_time`, `exercise_name`, `set_reps`) — but exact names are the safest bet.
What if I already have a Hevy or Strong CSV?
Use those exports directly. Baseline auto-detects Hevy and Strong headers and reads them without any renaming. This generic format is for people who don't have one of those files.
Can I include cardio or HR data in the same file?
No. The generic strength CSV is strength-only. Upload your cardio activities as separate files (Garmin FIT, Concept2 CSV, etc.) and Baseline will fold them into the same profile.

Ready when your file is

Once you have your export, drop it into Baseline to see one joined-up view across rowing, endurance and body metrics.

Instructions last reviewed against the vendor documentation on 16 September 2026. View the official documentation.