Indian adult height is declining — a reversal of the global trend.
This repository contains a comprehensive analysis of height among Indian males and females aged 18–65 using data from NFHS (1998–2021), IHDS, GenomeIndia, and 12+ peer-reviewed sources.
| Metric | Value |
|---|---|
| Male mean height (18–65) | 164.0 cm |
| Female mean height (18–65) | 151.0 cm |
| Gender gap | 13.0 cm |
| Male decline (2006 → 2016) | −1.10 cm (p < 0.001) |
| Female decline (2006 → 2016) | −0.12 cm (p = 0.051) |
| Tallest state (Male) | Punjab — 169.1 cm |
| Shortest state (Male) | Meghalaya — 161.5 cm |
| Caste gap (General − ST) | 3.3 cm |
| Wealth gap (Highest − Lowest) | 3.4 cm |
| Top driver | Genetics (80%) → Nutrition (70%) → SES (55%) |
Height declines with age (~0.5 cm/decade). The quadratic fit shows the trend with 95% CI.
Men lost 1.10 cm between NFHS-3 and NFHS-4. Women show a borderline decline.
29 states ranked — a 7.6 cm gap exists between the tallest (Punjab) and shortest (Meghalaya) states.
Height varies significantly by caste (3.3 cm), wealth (3.4 cm), and urban-rural residence (2.0 cm).
Violin plots showing the full distribution across five age bands for each gender.
Scatter plot comparing male and female heights. The identity line visualizes the ~13 cm gender gap.
The height gap between men and women remains remarkably stable (~13 cm) across all age groups.
Synthesis of 12+ studies ranking the drivers of adult height in India.
Full population height range with percentile markers (P5, P10, P25, P50, P75, P90, P95). Density curves + cumulative % overlay.
India ranks among the shortest 25% of nations — 20 cm shorter than the Netherlands.
Comparing 18–25 vs 50–65 age groups reveals whether younger Indians are gaining or losing height.
Choropleth-style map showing mean male height across 29 states. Punjab (169.1 cm) to Meghalaya (161.5 cm) — a 7.6 cm gap.
An interactive HTML version (Folium) is also available for local use.
Three-dimensional visualization of how height varies across age for both genders.
Raincloud plot (half-violin + boxplot + jittered points) showing the full height distribution.
NFHS measured means overlaid on synthetic self-report distributions. Younger men over-report by ~2.4 cm.
Simulated Reddit self-report data compared with NFHS measured distributions. Quantifies self-report bias in crowdsourced height data.
| Source | Coverage | Sample | Access |
|---|---|---|---|
| NFHS-2 (1998–99) | Women only | ~84K | DHS Program |
| NFHS-3 (2005–06) | Men & Women | ~188K | DHS Program |
| NFHS-4 (2015–16) | Men & Women | ~806K | DHS Program |
| NFHS-5 (2019–21) | Men & Women | ~826K | DHS Program |
| IHDS-I/II (2005, 2011–12) | Panel households | ~42K households | ICPSR |
| GenomeIndia (2025) | 81 ethnicities | 17,777 samples | Dashboard |
| Kaggle Dataset | Compiled tables | 12 tables | Kaggle |
- Quadratic regression: Height ~ Age + Age² (stratified by gender)
- Linear regression: Secular trend estimation across survey rounds
- Pearson correlation: Age-height and intergenerational associations
- Synthetic population: 100K records generated from published distributions (NFHS-4 parameters)
- Choudhary et al. (2021) — Trends of adult height in India from 1998 to 2015. PLOS ONE. DOI
- Das (2025) — Association between parents' height and sons' height. J Health Popul Nutr. DOI
- SAGE (2011) — Secular Trends in Height in Different States of India. DOI
- ScienceDirect (2010) — Patterns and trends of adult height in India in 2005–2006. Link
- SSRN (2018) — Human Stature and Development with Special Reference to Indian Population. Link
- Coffey & Spears (2017) — Open defecation and child height in India.
- Indian Pediatrics (2024) — Anthropometric Growth Reference for Indian Children. Link
# Clone the repo
git clone https://github.com/rishibagale/indian_height.git
cd indian_height
# Install dependencies
pip install -r requirements.txt
# Run the full analysis
python analysis.pyAll outputs (16 figures including interactive HTML map, 7 CSV tables) will be saved to the output/ directory.
This project is indexed with Nia for AI-powered code search:
nia search "male height trends by age" # Ask questions about the analysis
nia search "how is secular trend computed" # Find specific code patternsindian_height/
├── analysis.py # Full research pipeline
├── report.md # Comprehensive research report
├── requirements.txt # Python dependencies
├── LICENSE # MIT License
├── .gitignore
├── data/ # Raw data files
├── output/ # Generated figures + tables
│ ├── fig*.png / .html # 16 visualizations (incl. Folium map)
│ └── *.csv # 7+ data tables
├── scripts/ # Utility scripts (Reddit scraper, map generator)
├── FAQs.md # 12 research-backed Q&As
└── nia.json # Nia project configuration
The decline in Indian adult height — against the global trend of increasing height — demands urgent policy attention. Key drivers include:
- Persistent maternal undernutrition (~29% women underweight pre-pregnancy in 2015)
- Dietary transition away from millets and pulses toward refined carbohydrates
- Open defecation (still ~39% in 2015, though improved from 55%)
- Caste-based disparities in healthcare and nutrition access
- COVID-19 impact: Early evidence shows increased child stunting during 2020
Contributions are welcome! If you have access to NFHS microdata or additional anthropometric datasets, please open an issue or PR.
- Data requests: DHS Program (https://dhsprogram.com) — free registration
- IHDS data: ICPSR (https://www.icpsr.umich.edu) — free download
- GenomeIndia: https://ibdc.dbt.gov.in/gipheno/
If you use this work, please cite:
@misc{indian_height_2026,
author = {Bagale, Rishikesh},
title = {Indian Adult Height Research: Analysis of Trends, Determinants, and Socioeconomic Disparities},
year = {2026},
publisher = {GitHub},
url = {https://github.com/rishibagale/indian_height}
}If you find this research valuable, please star the repository — it helps others discover this work.
Built with data from NFHS-2/3/4/5, IHDS-I/II, GenomeIndia, and 12+ peer-reviewed publications.















