Calculateur de masse grasse
Selon la méthode de l'US Navy, un homme de 180 cm, avec 38 cm de cou et 85 cm de taille, a 16,1 % de masse grasse, catégorie forme. Un mètre ruban suffit, avec les hanches en plus pour les femmes. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Sexe
- Homme
- Taille (cm)
- 180
- Tour de cou (cm)
- 38
- Tour de taille (cm)
- 85
- Masse grasse (%)
- 16,1
- Catégorie
- fitness
US Navy gratuit
Comment fonctionne la méthode du mètre ruban
La méthode de l'US Navy estime la masse grasse à partir de tours de mesure, sans balance ni pince. Toutes les mesures sont en centimètres. Pour les hommes, elle utilise la taille, le tour de cou et le tour de taille : plus le tour de taille est grand par rapport au cou, à stature égale, plus l'estimation est élevée. Pour les femmes, les hanches s'ajoutent au tour de taille avant de soustraire le cou, d'où une mesure des hanches obligatoire pour elles et ignorée pour eux. Les formules utilisent des logarithmes en base 10, puis le résultat est arrondi et classé. Chez l'homme, les seuils sont : essentiel sous 6 %, athlète sous 14 %, forme sous 18 %, moyenne sous 25 % et obésité à partir de 25 % ; chez la femme, ils sont de 14, 21, 25 et 32 %.
Obtenir une mesure fiable
L'estimation suppose que les tours sont pris aux repères standard de l'US Navy : mesurer ailleurs donne un autre chiffre. Une erreur courante consiste à mélanger pouces et centimètres ; saisissez tout en centimètres. Si, chez un homme, le tour de taille ne dépasse pas le tour de cou, ou si, chez une femme, la taille plus les hanches ne dépassent pas le cou, les mesures ne peuvent pas être justes et sont refusées plutôt que transformées en pourcentage absurde. Il s'agit d'une estimation statistique et non d'une mesure directe : elle ne remplace ni la pesée hydrostatique ni un examen DEXA.
Catégories, arrondi et sortie
La valeur arrondie est ensuite classée dans une catégorie de forme physique. Pour les hommes les seuils sont essentiel en dessous de 6 %, athlètes en dessous de 14 %, forme en dessous de 18 %, moyen en dessous de 25 % et obèse à 25 % ou plus. Pour les femmes ils sont essentiel en dessous de 14 %, athlètes en dessous de 21 %, forme en dessous de 25 %, moyen en dessous de 32 % et obèse à 32 % ou plus.
Cas d’usage
Applications de fitness
Montrez aux membres une estimation instantanée de la masse grasse à partir de trois mesures au ruban, sans pince à plis cutanés ni balance.
Questions fréquentes
Quelles unités sont attendues ?
Des centimètres pour chaque mesure. Tous les termes log10 supposent des cm.
Comment la catégorie est-elle décidée ?
Le pourcentage arrondi est classé en essentiel, athlètes, forme, moyen ou obèse à l'aide de seuils propres au sexe.
Est-ce médicalement exact ?
C'est une estimation validée, non une mesure clinique comme le DEXA.
Pourquoi les femmes doivent-elles mesurer leurs hanches ?
Parce que la version féminine de la formule de l'US Navy ajoute le tour de hanches au tour de taille avant de soustraire le tour de cou. Chez l'homme, les hanches n'interviennent pas : cette mesure n'est donc requise que si vous choisissez le sexe féminin.
Pourquoi mes mesures sont-elles refusées ?
Chez l'homme, le tour de taille doit dépasser le tour de cou ; chez la femme, la taille plus les hanches doivent dépasser le cou, car la formule prend le logarithme de cette différence. Sinon, les mesures sont refusées au lieu de donner un pourcentage absurde.
Outils associés
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/dev/body-fat \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"sex":"male","height_cm":180,"neck_cm":38,"waist_cm":85}'const res = await fetch("https://api.kit.forhosting.com/dev/body-fat", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"sex": "male",
"height_cm": 180,
"neck_cm": 38,
"waist_cm": 85
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/body-fat",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"sex": "male",
"height_cm": 180,
"neck_cm": 38,
"waist_cm": 85
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/body-fat", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"sex":"male","height_cm":180,"neck_cm":38,"waist_cm":85}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"sex":"male","height_cm":180,"neck_cm":38,"waist_cm":85}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/body-fat", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"sex": "male",
"height_cm": 180,
"neck_cm": 38,
"waist_cm": 85
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.body_fat",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
Notes techniques
Estime le pourcentage de masse grasse avec la formule des circonférences de l'US Navy à partir du sexe, de height_cm, neck_cm et waist_cm (hip_cm requis pour les femmes), renvoyant le pourcentage arrondi et une catégorie de forme physique.
Les formules de l'US Navy
L'estimation utilise la méthode des circonférences de l'US Navy, qui ne nécessite qu'un mètre ruban. Chaque mesure est en centimètres. Pour les hommes la formule est 495 / (1,0324 − 0,19077·log10(waist_cm − neck_cm) + 0,15456·log10(height_cm)) − 450. Pour les femmes elle devient 495 / (1,29579 − 0,35004·log10(waist_cm + hip_cm − neck_cm) + 0,22100·log10(height_cm)) − 450, de sorte que hip_cm est obligatoire quand sex vaut female et ignoré pour les hommes. Les arguments du logarithme en base 10 doivent rester positifs, aussi le code les protège explicitement : waist_cm − neck_cm doit être supérieur à zéro pour les hommes et waist_cm + hip_cm − neck_cm supérieur à zéro pour les femmes, sinon une erreur typée invalid_input est renvoyée plutôt que de produire un pourcentage NaN à partir d'une combinaison de mesures incorrecte.
Catégories, arrondi et sortie
La réponse est un objet JSON à quatre clés : sex, body_fat_percent, category et method, où method est toujours la chaîne us_navy de sorte que les consommateurs peuvent enregistrer quel estimateur a produit le nombre et le reproduire plus tard.
Validation et ce qu'il n'est pas
Parce que la méthode est une estimation statistique plutôt qu'une mesure directe, elle ne remplace pas une pesée hydrostatique ou un scanner DEXA, et elle suppose que les circonférences sont prises aux repères standards de la Navy. Chaque champ est validé avant toute arithmétique. sex doit valoir exactement male ou female ; height_cm, neck_cm et waist_cm doivent chacun être un nombre fini supérieur à zéro ; hip_cm n'est lu que pour les femmes et doit également être un nombre fini positif. decimals doit être un entier compris entre 0 et 2. Toute violation déclenche une erreur typée invalid_input qui nomme le champ, de sorte qu'un formulaire peut mettre en évidence l'entrée exacte en cause.
Cas d'intégration
Suivi des progrès
Enregistrez body_fat_percent et category au fil du temps pour visualiser la recomposition corporelle pendant un bloc d'entraînement.
Analyse de cohorte
Appelez l'API sur un tableur de mesures pour catégoriser toute une équipe en un seul traitement par lots.
Questions techniques
Quelle formule est utilisée ?
La méthode des circonférences de l'US Navy, avec des équations distinctes pour les hommes et les femmes ; method dans la sortie est toujours us_navy.
Ai-je besoin d'une mesure des hanches ?
Uniquement pour les femmes. hip_cm est requis quand sex vaut female et ignoré pour les hommes.