Calcolatore IMC
70 kg per 1,75 m danno un IMC di 22,9, nella fascia normale dell'OMS, da 18,5 a meno di 25. Inserisca peso e altezza in unità metriche o imperiali e ottenga il suo IMC con la categoria per adulti. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Peso
- 70 metric
- Altezza
- 175
- Indice di massa corporea
- 22,9 metric
Calcola l'indice di massa corporea e la sua categoria di peso dell'OMS a partire da un peso e un'altezza obbligatori, in unità metriche o imperiali, con arrotondamento configurabile.
Come si calcola l'IMC
L'indice di massa corporea mette a confronto il peso con l'altezza al quadrato. In unità metriche l'altezza in centimetri diventa metri e il peso in chilogrammi viene diviso per quel valore al quadrato: 70 kg per 1,75 m danno 22,9. In unità imperiali il peso in libbre si divide per l'altezza in pollici al quadrato e si moltiplica per 703. Il risultato viene arrotondato, con un decimale per impostazione predefinita e fino a quattro se preferisce, e poi collocato in una fascia dell'Organizzazione Mondiale della Sanità: sotto 18,5 sottopeso, da 18,5 a meno di 25 normale, da 25 a meno di 30 sovrappeso e da 30 in su obesità.
Che cosa l'IMC non le dice
L'IMC è un rapporto di screening per le popolazioni, non una diagnosi. Non distingue i muscoli dal grasso, quindi una persona magra e molto muscolosa può finire nella fascia del sovrappeso o perfino dell'obesità pur avendo poco grasso. Le fasce sono pensate per gli adulti e non si adattano bene a bambini, donne in gravidanza o atleti. Un errore frequente è mescolare i sistemi, per esempio chilogrammi e pollici: scelga prima metrico o imperiale e inserisca entrambi i valori in quel sistema. Poiché si ottengono solo il rapporto e la sua fascia, l'interpretazione per la sua salute spetta a un professionista.
La formula e le categorie
In modalità metrica (quella predefinita) l'altezza in centimetri viene divisa per 100 per ottenere i metri e il BMI è il peso in chilogrammi diviso per quell'altezza al quadrato; in modalità imperiale il BMI è il peso in libbre diviso per l'altezza in pollici al quadrato, moltiplicato per la costante 703. Il BMI arrotondato viene poi classificato secondo soglie fisse dell'Organizzazione Mondiale della Sanità: sotto 18.5 restituisce sottopeso, da 18.5 fino a (ma escluso) 25 restituisce normale, da 25 fino a 30 restituisce sovrappeso e 30 o più restituisce obesità.
Cosa il BMI dice e cosa non dice
Il BMI è un rapporto di screening di popolazione, non una diagnosi. Non distingue il muscolo dal grasso, quindi un corpo magro e molto muscoloso può collocarsi nella fascia sovrappeso o obesità pur avendo poco grasso, e le soglie sono calibrate per gli adulti anziché per i bambini, le persone in gravidanza o gli atleti. La capacità riflette questo restituendo solo il rapporto e la sua fascia, lasciando l'interpretazione clinica a un professionista.
Casi d'uso
Moduli per salute e fitness
Mostri un BMI in tempo reale e la sua categoria OMS accanto a un campo di altezza e peso in un modulo di anamnesi o di iscrizione in palestra.
Metrico e imperiale in un solo embed
Serva un unico calcolatore a entrambi i pubblici commutando il parametro unit tra metric e imperial.
Domande frequenti
Quale formula usa?
Il BMI metrico è il peso in kg diviso l'altezza in metri al quadrato; quello imperiale è il peso in lb diviso l'altezza in pollici al quadrato per 703, scelto dal parametro unit.
Come vengono decise le categorie di peso?
Con le soglie dell'OMS sul BMI arrotondato: sotto 18.5 sottopeso, sotto 25 normale, sotto 30 sovrappeso, 30 o più obesità.
Questa è una diagnosi medica?
No. Il BMI è un rapporto di screening che ignora la composizione corporea ed è calibrato per gli adulti; interpreti i risultati con un professionista.
Posso usare libbre e pollici?
Sì. Scelga le unità imperiali: il peso in libbre viene diviso per l'altezza in pollici al quadrato e moltiplicato per 703. La modalità metrica, quella predefinita, usa chilogrammi e centimetri.
Perché un valore quasi pari a 25 può risultare sovrappeso?
Perché la categoria si decide sull'IMC già arrotondato, non sulla cifra grezza. Se il suo valore si arrotonda esattamente a 25,0, rientra nel sovrappeso, proprio come viene mostrato sullo schermo.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/dev/bmi \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"weight":70,"height":175}'const res = await fetch("https://api.kit.forhosting.com/dev/bmi", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"weight": 70,
"height": 175
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/bmi",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"weight": 70,
"height": 175
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/bmi", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"weight":70,"height":175}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"weight":70,"height":175}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/bmi", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"weight": 70,
"height": 175
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.bmi",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
La formula e le categorie
dev.bmi calcola l'indice di massa corporea da due campi obbligatori, weight e height, usando una di due formule selezionata dal parametro unit. La risposta riporta bmi, category, unit, weight e height, così che la fascia e i numeri esatti che l'hanno prodotta viaggino sempre insieme in un unico oggetto JSON.
Input, arrotondamento e validazione
Il parametro decimals è un intero tra 0 e 4 (predefinito 1) che controlla come viene arrotondato il rapporto grezzo. Poiché le soglie vengono confrontate con il bmi arrotondato anziché con il rapporto grezzo, un numero che arrotonda esattamente a 25.0 ricade nella fascia sovrappeso, in linea con ciò che mostra la pagina. Il parametro unit accetta solo metric o imperial e vale metric per impostazione predefinita; qualsiasi altra stringa restituisce un errore tipizzato invalid_input. Sia weight sia height devono essere numeri finiti strettamente maggiori di zero, e il loro valore assoluto non deve superare 1e6, il che blocca payload assurdi o soggetti a overflow prima di qualsiasi divisione.
Casi di integrazione
Valutazione di coorti in blocco
Richiami l'API su un foglio di calcolo di membri o pazienti per aggiungere le colonne bmi e category in un'unica passata.
Domande tecniche
Come viene arrotondato il risultato?
Con una regola esplicita half-up al numero di decimali impostato (da 0 a 4, predefinito 1), non con toFixed, così che la classificazione corrisponda al numero mostrato.
Cosa succede con un peso o un'altezza errati?
I valori non positivi, non finiti o fuori intervallo restituiscono un errore tipizzato invalid_input prima di qualsiasi calcolo; le attività API fallite non vengono addebitate a $0.002.