ForHosting KIT · Health & fitness

1RM percentage table calculator

With a 100 kg one-rep max, 70 % is 70 kg and 85 % is 85 kg: enter the max you already know and get the whole loading chart from 50 % to 100 % in 5-point steps. Free in your browser.

  • Free
  • Runs in your browser
  • No sign-up
  • Your data stays on your device
Use it from WebAPIEmailTelegramApp soon
If you enter
One rm
100
You get
From percent
50 kg
To percent
100
Step
5
Decimal places
1

Strength programs rarely prescribe a true one-repetition maximum on every set. Coaches and lifters work from percentages of a known 1RM so volume, intensity, and recovery stay predictable across the week. This 1RM percentage table calculator turns a single max into a full loading chart: for each intensity from a low warm-up band through top sets, it multiplies one-rep max by the percentage and returns the rounded training weight. Use it when you already know your max and need the percentage chart, not when you still need to estimate 1RM from a multi-rep set.

What a percentage-of-1RM loading table is

A one-repetition maximum is the heaviest load you can lift once for a given movement with solid form. Programming from that number is standard in powerlifting, Olympic weightlifting, general strength blocks, and many team-sport templates. Instead of writing absolute kilograms for every athlete, the plan says work at seventy percent for five sets of five, or at eighty-five percent for singles, and the athlete multiplies.

A loading table precomputes that multiplication across a grid of intensities so you can load the bar without a calculator under the rack. This capability accepts your known one-rep max, an optional mass unit label such as kilograms or pounds, and optional bounds for the lowest percent, highest percent, and step size between rows. By default it builds the familiar chart from fifty percent to one hundred percent in five-point steps, which covers warm-up ladders and working sets for most intermediate programs.

Each row reports the percent and the training weight equal to one-rep max times percent divided by one hundred, rounded to the decimal places you choose. The unit field is a label only: it does not convert kilograms to pounds, so you stay consistent with how you tested the max. If you still need to estimate a max from a five-rep set, use a dedicated one-rep max estimator first, then feed that estimate here to print the percentage chart your block actually uses.

Where a 1RM percentage chart earns its keep

Coaches building spreadsheets for squads want every athlete to see the same percent ladder against their own max without hand-multiplying twenty cells. Self-coached lifters pinning a chart to a phone before a session need a deterministic table that matches the program PDF, not a social-media graphic with wrong rounding.

Pair the table with a plate calculator when you need collar-to-collar plate math, or with a one-rep max estimator when the max itself is still unknown; this tool owns only the percentage loading step and refuses to invent a max from zero.

Program day cards from a known max

Paste a tested 1RM and export the 50–100% ladder so working sets and warm-ups load without mental math under the bar.

Does this estimate my one-rep max from reps?

No. It assumes you already know the max. To estimate 1RM from weight and reps, use a dedicated one-rep max calculator, then pass that value here for the percentage chart.

What are the default percentages?

From 50% to 100% of 1RM in steps of 5 percentage points, with weights rounded to one decimal place. You can override any of those bounds.

What does training at 70 % of my max mean?

It means loading the bar with seven tenths of your one-rep max. With a 100 kg max that is 70 kg, the kind of load a program sets for five sets of five, while 85 % is kept for heavy singles.

Can I make a chart above 100 % or with a different step?

Yes. You can set the lowest and highest percentages anywhere from 1 to 200 and pick your own gap between rows. If the top value does not fall exactly on a step, it is still added, so 100 % never goes missing.

How are the training weights rounded?

Each weight is your max times the percentage divided by 100, rounded to the number of decimals you pick, from none up to four. If you do not choose, the chart shows one decimal place.

Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.

POSThttps://api.kit.forhosting.com/health/rep-max-percentage

Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.

curl -X POST https://api.kit.forhosting.com/health/rep-max-percentage \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"one_rm":100}'
{
  "one_rm": 100
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "health.rep_max_percentage",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.

Per request$0.002

Published price — no tokens, no invented credits. A failed task is never charged.

HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.

Invalid inputs such as a non-positive max or a reversed percentage range fail with a clear invalid_input message and are not billed.

Input contract, defaults, and error behaviour

Optional unit accepts kg or lb (and common synonyms) and defaults to kg; it is echoed on the response for display and never triggers a unit conversion. Optional step defaults to five percentage points and must be a positive finite number; optional decimals defaults to one and must be an integer from zero through four. POST a JSON body with one_rm required: a finite positive number for the known one-repetition maximum in the unit you train with. Optional from_percent and to_percent default to fifty and one hundred and must each lie between one and two hundred, with from_percent less than or equal to to_percent. On success the body echoes one_rm, unit, from_percent, to_percent, step, and decimals; returns row_count; returns rows as an ordered array of objects each with percent and weight; and returns a short formula string. When the high end of the range does not land exactly on the step lattice, the endpoint is still included so one hundred percent never disappears from a custom grid. Missing one_rm, non-positive max, reversed bounds, non-positive step, out-of-range percents, or a grid that would exceed two hundred rows all fail with invalid_input naming the problem. Those failures do not consume balance. Successful calls bill the published $0.002 base price as a single item with pure parse cost and no model tokens.

Where a 1RM percentage chart earns its keep

Gym apps and LMS-style training portals can call this endpoint to fill weekly load prescriptions once a tested or estimated max is stored on the athlete profile.

Squad spreadsheets and coaching portals

Fill each athlete row with percent-based loads from their stored max; same formula for every profile, API or free widget.

Custom intensity grids

Set from_percent, to_percent, and step for peaking blocks, rehab ladders, or 2.5-point increments when your template is not the default chart.

How do I build a 1RM percentage loading table?

Send your known one_rm (and optional unit, from_percent, to_percent, step, decimals). The API returns rows of percent and weight using weight = one_rm × percent / 100.

Does the unit field convert kilograms to pounds?

No. Unit is a display label only. Enter one_rm in the unit you train with; the table multiplies that number without conversion.

What does the 1RM percentage table calculator cost?

The browser tool is free. API requests use prepaid KIT balance at $0.002 per successful call; invalid input is not billed.

Read the full KIT documentation →