Skip to content

Census of India

India's most comprehensive national survey — covering 1.4 billion people from national to village level since 1872.


Provider
Office of the Registrar General & Census Commissioner
Access Level
🟡 Free Registration (some tables free without login)
Formats Available
Excel, CSV, PDF
Coverage
National → Village (640,000+ villages)
Latest Data
Census 2011 (full tables); 2024 preliminary counts

What Is the Census of India?

The Census of India is conducted every 10 years and is the largest administrative exercise in the world. It counts every person living in India — recording their age, gender, religion, caste, education, occupation, and housing conditions.

The Census gives India detailed data on: - Population — age, sex, religion, language - Literacy — by gender, age group, SC/ST - Workers — occupation, industry, type of work - Housing — type of house, amenities (toilet, water, power) - Migration — origin, duration, reason

2011 vs 2024 Census

India's 2021 Census was postponed due to COVID-19 and has not yet been published in full. The 2011 Census remains the most recent comprehensive dataset. The 2024 Census enumeration has been announced — watch censusindia.gov.in for updates.


Key Table Series

The Census data is published in several "series" of tables:

Series Code What It Contains
Primary Census Abstracts PCA Population, literacy, SC/ST — at village level
House Listing & Housing HH Housing conditions, amenities, type of structure
Workers Table B Main/marginal workers by industry and occupation
Migration Table D Origin, duration, and reason for migration
Disability Table C Type and degree of disability by age/sex
Language Table C-16/17 Mother tongue and bilingualism

How to Download Census Data

Primary Census Abstracts (Village Level) 🟡

This is the most useful table for spatial analysis — it gives population, SC/ST count, literacy, and workers for every village.

  1. Go to censusindia.gov.in
  2. Click "Census Data""Primary Census Abstracts" (or search "PCA village")
  3. Download PCA_2011_State.xlsx for your state
  4. Each row is a village/town — with ~40 columns of data

Key columns in PCA:

State_code, District_code, Sub_district_code, Village_code
Village/Town Name
Total_population, Male, Female
SC_Population, ST_Population
Literate (Male, Female)
Main_workers, Marginal_workers


District-Level Tables 🟡

For district-level summary statistics:

  1. Go to "Census Tables""District Census Handbook"
  2. Select your state → Select district
  3. Download PDF or Excel — contains 50+ indicator tables

Alternatively, use data.gov.in for structured district-level Census tables: 1. Go to data.gov.in 2. Search: "census 2011 district" 3. Find "Census Primary Census Abstract - District" → Download CSV


Using Python to Analyse Census Data 🔵

import pandas as pd
import geopandas as gpd
import matplotlib.pyplot as plt

# Load Census PCA for Maharashtra
pca = pd.read_excel("PCA_Maharashtra.xlsx", sheet_name="District")

# Calculate female literacy rate
pca['Female_Literacy_Rate'] = (pca['Literate_F'] / pca['Total_F']) * 100

# Top 10 districts by female literacy
top10 = pca.nlargest(10, 'Female_Literacy_Rate')[
    ['District', 'Female_Literacy_Rate']
]
print(top10.to_string())

# Join to GADM district boundaries and make a map
gadm = gpd.read_file("gadm41_IND_2.json")
gadm_mh = gadm[gadm['NAME_1'] == 'Maharashtra']
merged = gadm_mh.merge(pca, left_on='NAME_2', right_on='District')

fig, ax = plt.subplots(figsize=(10, 8))
merged.plot(column='Female_Literacy_Rate', ax=ax,
            legend=True, cmap='YlOrRd',
            legend_kwds={'label': 'Female Literacy Rate (%)'})
ax.set_title("Female Literacy Rate by District — Maharashtra (2011 Census)")
ax.axis('off')
plt.savefig("mh_female_literacy.png", dpi=150, bbox_inches='tight')
plt.show()

Other Useful Census Portals

Portal URL What It Offers
Chandramauli Tables censusindia.gov.in Full Census 2011 table series
IndiaDataPortal www.indiadataportal.com Clean, queryable Census data
DevDataLab Census devdatalab.org Harmonised Census 1991–2011 panel data
SHRUG shrug.io Village-level panel combining Census + SECC + elections

SHRUG — The Most Useful Village Dataset

The SHRUG (Sub-national Harmonised Raster and Unified Geography) dataset from Development Data Lab combines Census village data with satellite nightlights, SECC, and election results. It is the most comprehensive village-level panel dataset available for India. Download free from shrug.io.


✏️ Practice Exercise

Exercise 2.1 — Map Literacy Rates at District Level

Goal: Create a map showing literacy rates across India's districts.

Data needed: - Census 2011 PCA (download CSV) - GADM India Level 2 Shapefile

Steps: 1. Download Census District-level PCA (CSV format) from data.gov.in 2. Download GADM Level 2 shapefile from gadm.org 3. Open QGIS → Load both files 4. Join: Census table to GADM shapefile using district name (Vector → Data Management → Join Attributes) 5. Style: Graduated colours by literacy rate

Questions: - [ ] Which state shows the highest average literacy? - [ ] Which districts cluster together in "low literacy" zones? - [ ] Is there a north-south divide in literacy rates?

Expected pattern: Southern states (Kerala, Tamil Nadu, Goa) show higher literacy; some districts in Bihar, UP, and Rajasthan show lower rates.


  • SECC 2011 — Household-level deprivation data (complements Census)
  • NFHS — Health and nutrition indicators
  • GADM Boundaries — Join Census to boundaries
  • SHRUG Portal — Village panel dataset (Census + SECC + DMSP lights)

Next Dataset: NFHS Health Survey →