Calculadora de 1RM
Transforme uma série pesada em uma estimativa de 1RM sem precisar testar o máximo real: 100 por 5 repetições dão 116,67 pela Epley e 112,5 pela Brzycki. Funciona em kg ou lb, para séries de 1 a 12 repetições. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Peso
- 100
- Repetições
- 5
- Estimativa de Epley
- 116,67
- Estimativa de Brzycki
- 112,5
Estima sua repetição máxima (1RM) a partir de um peso levantado e do número de repetições realizadas, devolvendo a estimativa de Epley, a estimativa de Brzycki, ou ambas.
As duas fórmulas que ela calcula
Esta calculadora estima uma repetição máxima a partir de uma série submáxima usando duas equações clássicas. A estimativa de Epley é peso * (1 + reps / 30), então levantar 100 por 5 repetições dá 100 * (1 + 5/30) = 116.67. A estimativa de Brzycki é peso * 36 / (37 - reps), que para a mesma série dá 100 * 36 / 32 = 112.5.
Como Brzycki divide por (37 - reps), ela só é definida para reps até 12, que é exatamente o limite superior que a ferramenta impõe. Ambas as fórmulas pressupõem um esforço genuinamente quase máximo nas repetições que você informa; as estimativas divergem mais à medida que as repetições sobem, e é por isso que praticantes sérios mantêm o número de repetições baixo. O objeto de saída repete seu peso, reps e formula junto às estimativas numéricas, de modo que um resultado é sempre autoexplicativo.
Campos, faixas e arredondamento
Duas entradas são obrigatórias: peso (um número finito positivo em qualquer unidade que você levante, kg ou lb, já que a matemática independe da unidade) e reps (um inteiro de 1 a 12). Dois campos opcionais ajustam a saída: formula, um enum limitado a "epley", "brzycki" ou "both"; e decimals, um inteiro de 0 a 4 que assume 2 por padrão. O peso deve ser estritamente maior que zero, e reps abaixo de 1 ou acima de 12 são recusadas.
Casos de uso
Programe suas cargas de treino
Transforme uma série de trabalho de 5 repetições em uma estimativa de 1RM e então derive cargas baseadas em porcentagem (por exemplo, 80% do 1RM) para o seu próximo bloco.
Compare dois métodos de estimativa
Devolva Epley e Brzycki de uma vez para ver o quanto as estimativas divergem em séries de mais repetições antes de confiar em um número.
Perguntas frequentes
Quais fórmulas são usadas?
Duas: Epley, peso * (1 + reps/30), e Brzycki, peso * 36 / (37 - reps). Escolha uma ou devolva ambas.
Por que reps é limitado a 12?
Ambas as fórmulas perdem precisão em muitas repetições, e o denominador de Brzycki (37 - reps) se degrada à medida que reps se aproxima de 37, então a ferramenta impõe um inteiro de 1 a 12.
A unidade importa, kg ou lb?
Não. A matemática independe da unidade; a estimativa volta na mesma unidade em que você informou o peso.
Como o resultado é arredondado?
Half-up até as casas decimais que você solicitar (0 a 4, padrão 2), aplicado ao valor exato calculado.
Por que Epley e Brzycki dão resultados diferentes?
São duas equações diferentes para a mesma ideia. Com 100 levantados 5 vezes, a Epley dá 116,67 e a Brzycki 112,5, e a diferença cresce quando as repetições aumentam, então uma série curta dá a estimativa mais confiável.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/dev/one-rep-max \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"weight":100,"reps":5}'const res = await fetch("https://api.kit.forhosting.com/dev/one-rep-max", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"weight": 100,
"reps": 5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/one-rep-max",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"weight": 100,
"reps": 5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/one-rep-max", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"weight":100,"reps":5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"weight":100,"reps":5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/one-rep-max", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"weight": 100,
"reps": 5
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.one_rep_max",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
As duas fórmulas que ela calcula
Você escolhe qual devolver com o campo formula: "epley", "brzycki" ou "both" (o padrão).
Campos, faixas e arredondamento
O arredondamento usa uma regra half-up explícita aplicada ao valor IEEE exato, então 116.665 arredonda para 116.67 em vez de se desviar por um atalho sensível ao locale. Qualquer campo fora da faixa, do tipo errado ou não finito é rejeitado antes de a aritmética rodar e devolve um erro invalid_input tipado que nomeia o campo problemático, por exemplo "reps inválido" quando reps é 0, 13 ou não é um inteiro.
Determinismo e o widget gratuito
O motor é pura aritmética, sem relógio, aleatoriedade, chamada de rede ou dependência de locale, então a mesma entrada sempre produz a mesma estimativa de 1RM. Tarefas de API que falham nunca são cobradas; o saldo pré-pago é gasto apenas em chamadas bem-sucedidas a US$ 0,002.
Casos de integração
Pontue um diário de treino inteiro
Passe cada série registrada pela API para plotar a progressão estimada de 1RM ao longo de semanas sem recalcular as fórmulas na mão.
Perguntas técnicas
O que acontece com entrada inválida?
Um erro invalid_input tipado que nomeia o campo, por exemplo peso não positivo ou uma contagem de repetições não inteira. A API a US$ 0,002 cobra apenas chamadas bem-sucedidas.