Determine diaper size by weight
A baby weighing 7.5 kg gets size 2, which covers 5.44 to 8.16 kg, and size 3 is listed as also eligible. No unit conversion is needed, and the final fit check still happens on the baby. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Weight
- 7.5 kg
- Input weight
- 7.5
- Input unit
- kg
- Recommended size
- 2
- Eligible sizes
- 2, 3
Diaper sizing starts with weight, but package charts often overlap and brands do not fit every baby in exactly the same way. This calculator converts an infant's positive weight into a consistent standard size recommendation, shows the weight range for that size, and lists every size whose usual range includes the entered weight. Enter kilograms or pounds; no manual conversion is needed. The result is a practical shopping and fit-check starting point, not a substitute for the chart printed on a specific diaper package.
Enter an accurate and current weight
Use the infant's most recent weight rather than an older birth record or a rough visual estimate. Select kilograms or pounds to match the scale reading, and enter the number without adding unit text to the weight field. The calculator requires a value greater than zero because zero, negative values, missing values, and nonnumeric entries cannot represent a usable body weight.
If a home scale is not designed for infants, weigh yourself while holding the baby and subtract your own weight, while recognizing that this method is less precise than a pediatric scale. Small differences rarely matter in the middle of a size band, but they can affect the recommendation near a boundary. The returned input fields let you confirm exactly what the calculator processed.
Recalculate after a new weigh-in or whenever the current diaper begins showing fit problems, since growth during infancy can move a baby through neighboring ranges quickly.
Understand overlaps and the recommended size
Standard disposable diaper charts intentionally overlap. For example, a weight can fit both size 1 and size 2 because body shape, absorbency needs, and brand construction affect the best fit. Treat the primary recommendation as a starting point.
If two sizes are eligible and the smaller diaper is tight, difficult to fasten, or leaking despite correct placement, test the next size. If the larger diaper gaps around the legs or waist, the smaller eligible size may seal better. Never force a size solely because the weight technically falls inside its range.
Check real-world fit before buying in bulk
Weight narrows the choice, but the final check happens on the baby. A suitable diaper should sit evenly below the navel, allow the fasteners to close without strain, and form gentle seals around both legs. Persistent red marks, tabs that barely reach, frequent blowouts up the back, or leaks after ordinary use can indicate that the diaper is too small or that a different cut is needed.
Wide gaps, sagging before the diaper is wet, and leaks around the thighs can indicate that it is too large. Check the manufacturer's package chart because its bands may differ from the generic ranges used here, particularly for newborn, premature, overnight, pull-on, or specialty products. When approaching a boundary, buy a small pack before committing to a case.
Caregivers can also keep both overlapping sizes available during a transition: the smaller one may work during the day while the larger option provides more coverage overnight.
What you can do with it
Choose a first package
Turn a recent clinic or home-scale weight into a practical starting size before buying diapers.
Plan a size transition
See overlapping eligible sizes when leaks or tight fasteners suggest that the current diaper is nearing its limit.
FAQ
Which weight units can I use?
Use kg for kilograms or lb for pounds. Kilograms are the default when unit is omitted.
Why are two sizes sometimes eligible?
Common diaper weight bands overlap so caregivers can account for body shape, brand fit, and absorbency needs.
How is the recommended size selected?
The calculator consistently selects the smallest standard size whose generic range contains the entered weight.
Does every diaper brand use these exact ranges?
No. These are generic standard ranges; always compare the result with the chart on the specific package.
How do I weigh my baby without a baby scale?
Weigh yourself while holding the baby, then subtract your own weight. This is less precise than a pediatric scale, which matters most when the weight sits near the edge of a size.
Related tools
For developers — API access
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.
API endpoint
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.
Call it from your stack
curl -X POST https://api.kit.forhosting.com/parent/diaper-size-by-weight \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"weight":7.5}'const res = await fetch("https://api.kit.forhosting.com/parent/diaper-size-by-weight", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"weight": 7.5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/parent/diaper-size-by-weight",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"weight": 7.5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/parent/diaper-size-by-weight", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"weight":7.5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"weight":7.5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/parent/diaper-size-by-weight", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"weight": 7.5
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "parent.diaper_size_by_weight",
"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.
Pricing
Published price — no tokens, no invented credits. A failed task is never charged.
Errors
| HTTP | Code | Meaning |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
402 | insufficient_balance | Your balance doesn't cover the task price. |
404 | unknown_type | That task type doesn't exist. |
429 | rate_limited | Too many requests. Use the webhook instead of polling. |
Technical notes
Enter an accurate and current weight
This is especially useful when a value is passed through an API, form, or family care log.
Understand overlaps and the recommended size
The result therefore includes an eligible_sizes list instead of pretending every weight maps to only one possible package. For a stable primary answer, recommended_size chooses the smallest standard size whose published generic band still contains the weight. The recommended_range reports that band's lower and upper boundaries in the same unit used for the input. The largest size has no upper boundary, so its output omits max_weight rather than inventing a limit or returning null.
Check real-world fit before buying in bulk
The API costs $0.002 per request and uses the same deterministic chart each time, making repeated results easy to audit.
Integration use cases
Add sizing to a care workflow
Use a deterministic API result in a parenting app, inventory reminder, or caregiver checklist.
Technical questions
What happens if the weight is zero or negative?
The request returns an invalid_input error because weight must be a positive finite number.