# Pregnancy Weight Gain Calculator

> Gives the recommended total and weekly pregnancy weight gain for a pre-pregnancy BMI according to the Institute of Medicine (IOM, 2009) guidelines for singleton and twin pregnancies, and compares the actual gain so far with the expected range for the current week.

- Calculator id: `pregnancy-weight-gain` · Category: Health (`health`) · Tool name: `calculate_pregnancy_weight_gain`
- Canonical page: https://tttkmbb.com/health/pregnancy-weight-gain · This document: https://tttkmbb.com/health/pregnancy-weight-gain.md · JSON definition: https://tttkmbb.com/health/pregnancy-weight-gain.json

## Purpose

Gives the recommended total and weekly pregnancy weight gain for a pre-pregnancy BMI according to the Institute of Medicine (IOM, 2009) guidelines for singleton and twin pregnancies, and compares the actual gain so far with the expected range for the current week.

**Use when:** You need the IOM/CDC recommended weight-gain range for a pregnant woman's pre-pregnancy BMI, the expected gain by a given week, or a check of actual gain against it.

**Do not use when:** The pregnancy is triplets or higher order, the woman is an adolescent or shorter than 157 cm (the guidelines apply with caution), or you need the due date (use pregnancy-due-date); the result is informational only, not medical advice.

## Input

| Parameter | Type | Unit | Required | Description |
| --- | --- | --- | --- | --- |
| `pre_pregnancy_weight_kg` | number | kg | required | Weight before pregnancy in kilograms. (min 30, max 300) |
| `height_cm` | number | cm | required | Height in centimetres. (min 120, max 220) |
| `twins` | boolean |  | optional, default false | true for twins (IOM provisional twin ranges; no guideline exists for underweight women). |
| `current_week` | number | weeks | optional | Optional week of pregnancy (from the last menstrual period) to get the expected gain so far. (min 1, max 42) |
| `current_weight_kg` | number | kg | optional | Optional current weight, to compute the actual gain and compare it with the expected range. (min 30, max 300) |

## Output

| Field | Type | Unit | Description |
| --- | --- | --- | --- |
| `bmi` | number | kg/m² | pre_pregnancy_weight_kg / (height_cm / 100)². |
| `bmi_category` | string |  | IOM/WHO category: underweight < 18.5, normal 18.5–24.9, overweight 25–29.9, obese ≥ 30. |
| `recommended_total_gain_low_kg` | number | kg | Lower end of the IOM 2009 total-gain range. |
| `recommended_total_gain_high_kg` | number | kg | Upper end of the IOM 2009 total-gain range. |
| `recommended_total_gain_lb` | string |  | The same range in pounds as published by the IOM, e.g. '25–35 lb'. |
| `weekly_rate_low_kg` | number | kg/week | IOM mean rate of gain in the second and third trimesters (for twins: derived from the total range over weeks 14–40). |
| `weekly_rate_high_kg` | number | kg/week | Upper weekly rate for the second and third trimesters. |
| `expected_gain_so_far_low_kg` | number | kg | 0.5 kg over the first 13 weeks (pro rata) plus weekly_rate_low_kg × (current_week − 13); only when current_week is given. |
| `expected_gain_so_far_high_kg` | number | kg | 2 kg over the first 13 weeks (pro rata) plus weekly_rate_high_kg × (current_week − 13); only when current_week is given. |
| `actual_gain_kg` | number | kg | current_weight_kg − pre_pregnancy_weight_kg (only when current_weight_kg is given). |
| `assessment` | string |  | Recommended range, or whether the actual gain is below, within or above the expected range for the current week. |

## Formula

`bmi = pre_pregnancy_weight_kg / (height_cm/100)²; singleton total gain (kg): BMI < 18.5 → 12.5–18, 18.5–24.9 → 11.5–16, 25–29.9 → 7–11.5, ≥ 30 → 5–9; twins: 17–25, 14–23, 11–19 for normal, overweight and obese; weekly rate weeks 14–40: 0.44–0.58, 0.35–0.50, 0.23–0.33, 0.17–0.27 kg/week; expected gain so far = first-trimester 0.5–2 kg × min(week, 13)/13 + weekly rate × max(0, week − 13)`

IOM (2009) ranges are for US women with singleton or twin pregnancies and assume 0.5–2 kg gained in the first trimester; twin ranges are provisional and have no published weekly rate, so the rate shown is derived from the total. Informational only, not medical advice.

## Data Sources

- IOM (2009) Weight Gain During Pregnancy: Reexamining the Guidelines, National Academies Press — https://www.ncbi.nlm.nih.gov/books/NBK32813/ (standard, retrieved 2026-09-24)
- CDC – Weight Gain During Pregnancy — https://www.cdc.gov/reproductivehealth/maternalinfanthealth/pregnancy-weight-gain.htm (government, retrieved 2026-09-24)

Data freshness: `static`. Deterministic formula with fixed constants; results never go stale. Inputs supplied by the caller determine the output.

## API

- `GET https://tttkmbb.com/api/v1/calculate/pregnancy-weight-gain?pre_pregnancy_weight_kg=…&height_cm=…`
- `POST https://tttkmbb.com/api/v1/calculate/pregnancy-weight-gain` with JSON body `{"inputs": {…}}`
- Response: unified envelope (`success`, `request`, `result.values`, `result.units`, `sources`, `freshness`, `timestamp`, `next_actions`, `links`); see https://tttkmbb.com/docs/response-format.md
- Schema: https://tttkmbb.com/api/v1/calculators/pregnancy-weight-gain · OpenAPI operationId `calculate_pregnancy_weight_gain` in https://tttkmbb.com/openapi.json
- Authentication: none. Rate limit: fair use, see https://tttkmbb.com/docs/rate-limits.md.

## MCP

- Server: `https://tttkmbb.com/mcp` (Streamable HTTP, JSON-RPC 2.0, no auth)
- Tool:  `run_calculator` with `{"calculator_id": "pregnancy-weight-gain", "inputs": {…}}`

## Example

- 60 kg, 165 cm, singleton: inputs `{"pre_pregnancy_weight_kg":60,"height_cm":165}` → `{"bmi":22,"bmi_category":"Normal weight (BMI 18.5–24.9)","recommended_total_gain_low_kg":11.5,"recommended_total_gain_high_kg":16,"recommended_total_gain_lb":"25–35 lb","weekly_rate_low_kg":0.35,"weekly_rate_high_kg":0.5}`
- 85 kg, 165 cm, week 30, now 92 kg: inputs `{"pre_pregnancy_weight_kg":85,"height_cm":165,"current_week":30,"current_weight_kg":92}` → `{"bmi":31.2,"bmi_category":"Obese (BMI ≥ 30)","recommended_total_gain_low_kg":5,"recommended_total_gain_high_kg":9,"recommended_total_gain_lb":"11–20 lb","expected_gain_so_far_low_kg":3.4,"expected_gain_so_far_high_kg":6.6,"actual_gain_kg":7}`

```
GET https://tttkmbb.com/api/v1/calculate/pregnancy-weight-gain?pre_pregnancy_weight_kg=60&height_cm=165
```

## Limitations

The pregnancy is triplets or higher order, the woman is an adolescent or shorter than 157 cm (the guidelines apply with caution), or you need the due date (use pregnancy-due-date); the result is informational only, not medical advice. IOM (2009) ranges are for US women with singleton or twin pregnancies and assume 0.5–2 kg gained in the first trimester; twin ranges are provisional and have no published weekly rate, so the rate shown is derived from the total. Informational only, not medical advice. All values are computed from the formula above; no measurement or live data is involved.

## FAQ

**Why is the range based on pre-pregnancy BMI?**

The IOM 2009 guidelines link the target gain to pre-pregnancy BMI because heavier women need less added weight for a healthy birth weight; the ranges balance the risks of small-for-gestational-age infants against caesarean delivery and weight retention.

**What if I do not know my first-trimester gain?**

The IOM assumes 0.5–2 kg in the first 13 weeks; this calculator spreads that pro rata over weeks 1–13 and applies the weekly rate from week 14 onwards.

**Does the calculator cover twins for underweight women?**

No. The IOM found insufficient data for a twin guideline below BMI 18.5 and gives none, so only the BMI and category are returned in that case.

## Related

- [BMI Calculator](https://tttkmbb.com/health/bmi.md) — BMI classification for the pre-pregnancy weight.
- [Pregnancy Due Date Calculator](https://tttkmbb.com/health/pregnancy-due-date.md) — Estimate the due date and current gestational week.
