A NEER public-good project

India's flood risk,
finally made open.

The first statewide, publicly accessible 1% annual-chance (100-year) flood hazard maps for India — now spanning 27 states and union territories, from the Himalaya to the coast. Free, transparent, and honest about what it can and can't tell you.

0
Buildings in the floodplain
0
states & union territories
0
Grid resolution
0
Free & open
Modeled 100-year flood depth across Tamil Nadu & Puducherry Tamil Nadu & Puducherry · 100-yr flood depth
Shallow Deep

Why this exists

Good flood maps exist. Just not for the people who need them.

Hundreds of millions of people in India live with flood risk they can't see. The best flood data is either commercial and closed, or built for other countries. We're changing that — openly.

01

Free & open

No paywall, no login. Anyone can explore the full flood map — and read exactly how it was made.

02

Transparent

Every step is documented and built on open, well-sourced data. Not a black box.

03

Built for India

Modeled on India’s own terrain and monsoon rainfall, state by state — not adapted from another country.

The idea everyone gets wrong

A “100-year flood” is not once every 100 years.

It means a 1% chance every single year — and the risk stacks up the longer you stay. Try it:

30 years

…the chance of seeing at least one 100-year flood is about 1 in 4.

26%
The myth

“It flooded last year, so we're safe for decades.” The odds reset every January 1st — last year's flood changes nothing about this year's 1%.

The reality

Over a 30-year home loan, it's roughly a 1-in-4 chance. Over a lifetime in one place, higher still. That's why a 1% map matters.

The human stakes

Across all 27 states & union territories, the 1% floodplain isn't empty.

0

building footprints sit where a 100-year flood would reach — about 20% of the 363M buildings mapped across 27 states & union territories — home to ~1.3 billion people.

Each square ≈ 2% of mapped buildings. Modeled estimate — building footprints overlaid on the 100-year flood layer.

How deep, for how many buildings

Of the 73M exposed footprints, by modeled flood depth:

  • 0–0.5 m 44% 32.23M
  • 0.5–1 m 23% 16.62M
  • 1–2 m 20% 14.61M
  • 2–3 m 7% 4.92M
  • 3–6 m 4% 3.05M
  • > 6 m 2% 1.22M

Mean depth where flooded: 1.1 m. Most exposure is shallow — but even shallow urban flooding shuts a city down.

The roads and railways that flood with them

Roads
14%

of the road network — 11,22,126 km — floods in a 100-year event.

Railways
17%

of railway track — 39,763 km — floods in a 100-year event.

A transport segment counts as at risk when the modeled flood is ≥ 15 cm (6 in) deep — enough to stall vehicles and trains.

Where the risk concentrates — by district

Share of each district's buildings inside the 100-year floodplain. Andhra's Krishna–Godavari delta and the new Polavaram gorge district, the Cauvery delta and Kerala's backwaters stand apart.

  1. 0 SupaulBR 84% 743K
  2. 0 MadhepuraBR 75% 587K
  3. 0 SaharsaBR 71% 393K
  4. 0 Cooch BeharWB 63% 728K
  5. 0 BegusaraiBR 63% 405K
  6. 0 JhajjarHR 61% 220K
  7. 0 DarbhangaBR 60% 544K
  8. 0 RampurUP 59% 280K
  9. 0 KapurthalaPB 59% 159K
  10. 0 BahraichUP 57% 673K
  11. 0 AmritsarPB 56% 350K
  12. 0 LakhisaraiBR 56% 128K
  13. 0 PatnaBR 56% 675K
  14. 0 BastiUP 55% 395K
  15. 0 KhagariaBR 55% 223K
  16. 0 South 24 ParganasWB 54% 1.35M
  17. 0 Purba MedinipurWB 53% 843K
  18. 0 BandiporaJK 53% 77K
  19. 0 PanipatHR 51% 134K
  20. 0 SitamarhiBR 50% 400K
  21. 0 MoradabadUP 49% 293K
  22. 0 GondaUP 48% 508K
  23. 0 GhaziabadUP 48% 229K
  24. 0 BalliaUP 48% 456K
  25. 0 Sant Kabir NagarUP 47% 212K
  26. 0 MayiladuthuraiTN 47% 155K
  27. 0 KatiharBR 47% 516K
  28. 0 KaraikalPY 46% 19K
  29. 0 JagatsinghpurOD 46% 156K
  30. 0 SambhalUP 46% 265K
  31. 0 SirsaHR 46% 260K
  32. 0 Gautam Buddha NagarUP 46% 255K
  33. 0 GorakhpurUP 46% 472K
  34. 0 SonipatHR 46% 207K
  35. 0 DelhiDL 45% 537K
  36. 0 RewariHR 45% 170K
  37. 0 Tarn TaranPB 45% 201K
  38. 0 AmrohaUP 45% 211K
  39. 0 KarnalHR 45% 186K
  40. 0 Lakhimpur KheriUP 44% 576K
  41. 0 SrinagarJK 44% 74K
  42. 0 VaranasiUP 44% 380K
  43. 0 RohtakHR 44% 145K
  44. 0 SaranBR 43% 418K
  45. 0 NalandaBR 43% 301K
  46. 0 VadodaraGJ 43% 262K
  47. 0 PolavaramAP 43% 63K
  48. 0 FatehabadHR 42% 158K
  49. 0 North 24 ParganasWB 42% 941K
  50. 0 AhmedabadGJ 42% 409K
  51. 0 PurniaBR 41% 510K
  52. 0 NagapattinamTN 41% 118K
  53. 0 HisarHR 41% 265K
  54. 0 Charkhi DadriHR 41% 93K
  55. 0 ArariaBR 41% 416K
  56. 0 KrishnaAP 39% 240K
  57. 0 ChandauliUP 38% 226K
  58. 0 FerozepurPB 38% 135K
  59. 0 GhazipurUP 38% 446K
  60. 0 HowrahWB 38% 415K
  61. 0 KaimurBR 38% 176K
  62. 0 NadiaWB 38% 634K
  63. 0 ShamliUP 37% 114K
  64. 0 KurukshetraHR 37% 112K
  65. 0 GurdaspurPB 37% 198K
  66. 0 BuxarBR 37% 156K
  67. 0 SheikhpuraBR 37% 58K
  68. 0 ThiruvarurTN 37% 184K
  69. 0 BharatpurRJ 37% 308K
  70. 0 MeerutUP 37% 258K
  71. 0 MaldaWB 37% 421K
  72. 0 FazilkaPB 36% 145K
  73. 0 VaishaliBR 36% 341K
  74. 0 AmbalaHR 36% 108K
  75. 0 AlipurduarWB 36% 193K
  76. 0 JehanabadBR 36% 110K
  77. 0 BareillyUP 35% 361K
  78. 0 PatialaPB 35% 215K
  79. 0 AnandGJ 35% 200K
  80. 0 DeoriaUP 35% 265K
  81. 0 KhedaGJ 34% 199K
  82. 0 KendraparaOD 34% 134K
  83. 0 KaithalHR 34% 113K
  84. 0 CuttackOD 33% 262K
  85. 0 GandhinagarGJ 33% 147K
  86. 0 HanumangarhRJ 33% 306K
  87. 0 MadhubaniBR 33% 397K
  88. 0 HapurUP 33% 102K
  89. 0 TiruchirappalliTN 32% 293K
  90. 0 JalandharPB 32% 198K
  91. 0 MurshidabadWB 32% 705K
  92. 0 FaridabadHR 32% 120K
  93. 0 West GodavariAP 32% 134K
  94. 0 MuzaffarnagarUP 31% 180K
  95. 0 NuhHR 31% 107K
  96. 0 MirzapurUP 31% 267K
  97. 0 JalpaiguriWB 31% 286K
  98. 0 YamunanagarHR 31% 103K
  99. 0 KolkataWB 31% 56K
  100. 0 BhadrakOD 31% 122K
  101. 0 GurugramHR 31% 152K
  102. 0 BhiwaniHR 31% 144K
  103. 0 HooghlyWB 30% 439K
  104. 0 BudgamJK 30% 126K
  105. 0 Udham Singh NagarUK 30% 142K
  106. 0 KishanganjBR 30% 183K
  107. 0 SamastipurBR 30% 359K
  108. 0 BathindaPB 30% 184K
  109. 0 LucknowUP 30% 340K
  110. 0 GanganagarRJ 30% 291K
  111. 0 ArwalBR 30% 53K
  112. 0 ThanjavurTN 30% 244K
  113. 0 Fatehgarh SahibPB 30% 66K
  114. 0 BaramullaJK 30% 131K
  115. 0 MauUP 29% 187K
  116. 0 MogaPB 29% 119K
  117. 0 BudaunUP 29% 247K
  118. 0 Sri Muktsar SahibPB 29% 120K
  119. 0 AgraUP 29% 291K
  120. 0 PalwalHR 29% 89K
  121. 0 KargilLA 29% 20K
  122. 0 Paschim MedinipurWB 29% 370K
  123. 0 SuratGJ 29% 219K
  124. 0 BapatlaAP 28% 132K
  125. 0 East GodavariAP 28% 152K
  126. 0 GunturAP 28% 151K
  127. 0 BharuchGJ 28% 134K
  128. 0 MahendragarhHR 28% 107K
  129. 0 LudhianaPB 28% 270K
  130. 0 GanderbalJK 28% 44K
  131. 0 CuddaloreTN 28% 231K
  132. 0 MathuraUP 28% 222K
  133. 0 JindHR 28% 114K
  134. 0 PrayagrajUP 28% 501K
  135. 0 EluruAP 27% 173K
  136. 0 KonaseemaAP 27% 82K
  137. 0 BhandaraMH 27% 115K
  138. 0 JalgaonMH 27% 275K
  139. 0 HaridwarUK 27% 120K
  140. 0 SheoharBR 27% 46K
  141. 0 SitapurUP 27% 332K
  142. 0 FaridkotPB 26% 67K
  143. 0 Purba BardhamanWB 26% 401K
  144. 0 PuducherryPY 26% 59K
  145. 0 East ChamparanBR 26% 363K
  146. 0 SiwanBR 26% 187K
  147. 0 AlappuzhaKL 26% 223K
  148. 0 PulwamaJK 25% 64K
  149. 0 KarurTN 25% 121K
  150. 0 AkolaMH 25% 116K
  151. 0 BijnorUP 25% 204K
  152. 0 VelloreTN 25% 113K
  153. 0 MungerBR 25% 74K
  154. 0 BaghpatUP 25% 80K
  155. 0 SaharanpurUP 25% 174K
  156. 0 GayaBR 24% 232K
  157. 0 AurangabadBR 24% 132K
  158. 0 BhagalpurBR 24% 181K
  159. 0 MaharajganjUP 24% 162K
  160. 0 BulandshahrUP 24% 219K
  161. 0 West ChamparanBR 24% 261K
  162. 0 ChennaiTN 24% 72K
  163. 0 NTRAP 24% 114K
  164. 0 MuzaffarpurBR 24% 315K
  165. 0 UjjainMP 24% 122K
  166. 0 SangrurPB 23% 138K
  167. 0 BarmerRJ 23% 513K
  168. 0 SahibganjJH 23% 75K
  169. 0 BarnalaPB 23% 62K
  170. 0 KozhikodeKL 23% 237K
  171. 0 MansaPB 23% 83K
  172. 0 AnantnagJK 23% 79K
  173. 0 Shahid Bhagat Singh NagarPB 22% 58K
  174. 0 Bhadradri KothagudemTG 22% 84K
  175. 0 KushinagarUP 22% 217K
  176. 0 PorbandarGJ 22% 54K
  177. 0 AligarhUP 22% 225K
  178. 0 BhojpurBR 22% 142K
  179. 0 KakinadaAP 22% 119K
  180. 0 UnnaoUP 22% 205K
  181. 0 MuluguTG 22% 24K
  182. 0 MungeliCG 22% 66K
  183. 0 KupwaraJK 22% 61K
  184. 0 Uttar DinajpurWB 22% 239K
  185. 0 ChandrapurMH 22% 162K
  186. 0 KotaRJ 22% 112K
  187. 0 LehLA 21% 122K
  188. 0 PilibhitUP 21% 124K
  189. 0 AzamgarhUP 21% 313K
  190. 0 AmravatiMH 21% 184K
  191. 0 SiddharthnagarUP 21% 133K
  192. 0 PathankotPB 21% 44K
  193. 0 Dakshin DinajpurWB 21% 111K
  194. 0 ChuruRJ 21% 266K
  195. 0 ThaneMH 21% 146K
  196. 0 KasganjUP 21% 87K
  197. 0 ShahjahanpurUP 21% 167K
  198. 0 IndoreMP 21% 150K
  199. 0 ThiruvallurTN 21% 224K
  200. 0 YavatmalMH 21% 170K
  201. 0 PatanGJ 21% 106K
  202. 0 BoudhOD 20% 36K
  203. 0 BhadohiUP 20% 101K
  204. 0 BuldhanaMH 20% 162K
  205. 0 BalasoreOD 20% 128K
  206. 0 NagpurMH 20% 229K
  207. 0 RohtasBR 20% 129K
  208. 0 Uttara KannadaKA 20% 105K
  209. 0 Kanpur NagarUP 20% 164K
  210. 0 BotadGJ 20% 45K
  211. 0 FarrukhabadUP 20% 90K
  212. 0 ShajapurMP 19% 51K
  213. 0 MumbaiMH 19% 76K
  214. 0 BikanerRJ 19% 270K
  215. 0 JodhpurRJ 19% 390K
  216. 0 KannurKL 19% 187K
  217. 0 AlwarRJ 19% 284K
  218. 0 North SikkimSK 19% 6K
  219. 0 NawadaBR 19% 98K
  220. 0 BhindMP 19% 79K
  221. 0 BandaUP 19% 122K
  222. 0 KottayamKL 19% 149K
  223. 0 BilaspurCG 19% 103K
  224. 0 HathrasUP 19% 77K
  225. 0 ChengalputtuTN 19% 89K
  226. 0 HamirpurUP 18% 70K
  227. 0 WardhaMH 18% 77K
  228. 0 SindhudurgMH 18% 67K
  229. 0 GopalganjBR 18% 126K
  230. 0 GwaliorMP 18% 86K
  231. 0 MalappuramKL 18% 287K
  232. 0 GadchiroliMH 18% 79K
  233. 0 BirbhumWB 18% 248K
  234. 0 ThoothukkudiTN 18% 126K
  235. 0 WashimMH 18% 63K
  236. 0 JajpurOD 18% 93K
  237. 0 ChitrakootUP 18% 65K
  238. 0 Lahaul and SpitiHP 18% 4K
  239. 0 ErnakulamKL 18% 228K
  240. 0 BemetaraCG 18% 42K
  241. 0 RaigadMH 18% 154K
  242. 0 EtahUP 18% 94K
  243. 0 EtawahUP 18% 79K
  244. 0 BaranRJ 18% 76K
  245. 0 JabalpurMP 17% 116K
  246. 0 PuriOD 17% 74K
  247. 0 KaushambiUP 17% 111K
  248. 0 North GoaGA 17% 51K
  249. 0 TirupathurTN 17% 62K
  250. 0 BalrampurUP 17% 105K
  251. 0 PathanamthittaKL 17% 100K
  252. 0 Dakshina KannadaKA 17% 155K
  253. 0 ParbhaniMH 17% 85K
  254. 0 ShrawastiUP 17% 56K
  255. 0 JalaunUP 17% 88K
  256. 0 Vav-TharadGJ 17% 106K
  257. 0 MorenaMP 17% 90K
  258. 0 SehoreMP 17% 77K
  259. 0 Gir SomnathGJ 17% 84K
  260. 0 JaisalmerRJ 17% 99K
  261. 0 S.A.S. NagarPB 17% 54K
  262. 0 FirozabadUP 17% 105K
  263. 0 JaunpurUP 17% 245K
  264. 0 DewasMP 17% 81K
  265. 0 JamnagarGJ 17% 93K
  266. 0 ThrissurKL 17% 206K
  267. 0 PrakasamAP 17% 99K
  268. 0 HardoiUP 17% 192K
  269. 0 AriyalurTN 17% 49K
  270. 0 NandedMH 17% 132K
  271. 0 Baloda BazarCG 17% 64K
  272. 0 BhopalMP 17% 84K
  273. 0 BarabankiUP 16% 171K
  274. 0 NamakkalTN 16% 136K
  275. 0 DhuleMH 16% 96K
  276. 0 DurgCG 16% 81K
  277. 0 KasaragodKL 16% 81K
  278. 0 IdukkiKL 16% 65K
  279. 0 MehsanaGJ 16% 111K
  280. 0 VidishaMP 16% 72K
  281. 0 KancheepuramTN 16% 143K
  282. 0 SurendranagarGJ 16% 95K
  283. 0 HoshangabadMP 16% 59K
  284. 0 VisakhapatnamAP 16% 55K
  285. 0 HoshiarpurPB 16% 96K
  286. 0 RaisenMP 16% 69K
  287. 0 SrikakulamAP 16% 86K
  288. 0 HyderabadTG 16% 57K
  289. 0 JunagadhGJ 16% 103K
  290. 0 PerambalurTN 16% 32K
  291. 0 UttarkashiUK 16% 23K
  292. 0 HingoliMH 16% 54K
  293. 0 RajkotGJ 15% 143K
  294. 0 JhalawarRJ 15% 80K
  295. 0 NavsariGJ 15% 66K
  296. 0 Medchal–MalkajgiriTG 15% 103K
  297. 0 BhavnagarGJ 15% 126K
  298. 0 DatiaMP 15% 36K
  299. 0 ErodeTN 15% 165K
  300. 0 DholpurRJ 15% 50K
  301. 0 KhordhaOD 15% 101K
  302. 0 JhunjhunuRJ 15% 179K
  303. 0 NagaurRJ 15% 304K
  304. 0 NarsinghpurMP 15% 49K
  305. 0 UdupiKA 15% 74K
  306. 0 PalgharMH 15% 109K
  307. 0 KinnaurHP 15% 8K
  308. 0 RatnagiriMH 15% 99K
  309. 0 JaloreRJ 15% 155K
  310. 0 RajgarhMP 15% 71K
  311. 0 MorbiGJ 15% 63K
  312. 0 Kanpur DehatUP 14% 74K
  313. 0 DamohMP 14% 59K
  314. 0 AmreliGJ 14% 100K
  315. 0 BanaskanthaGJ 14% 127K
  316. 0 RamanathapuramTN 14% 71K
  317. 0 TiruppurTN 14% 171K
  318. 0 KabirdhamCG 14% 48K
  319. 0 BageshwarUK 14% 15K
  320. 0 RatlamMP 14% 62K
  321. 0 TapiGJ 14% 43K
  322. 0 FatehpurUP 14% 109K
  323. 0 JalnaMH 14% 93K
  324. 0 Sarangarh BilaigarhCG 14% 27K
  325. 0 BalaghatMP 14% 97K
  326. 0 PalnaduAP 14% 78K
  327. 0 BurhanpurMP 14% 25K
  328. 0 Ambedkar NagarUP 13% 102K
  329. 0 MahePY 13% 2K
  330. 0 SheopurMP 13% 32K
  331. 0 Kumuram Bheem AsifabadTG 13% 27K
  332. 0 GajapatiOD 13% 23K
  333. 0 BundiRJ 13% 65K
  334. 0 AyodhyaUP 13% 107K
  335. 0 AuraiyaUP 13% 52K
  336. 0 ViluppuramTN 13% 92K
  337. 0 Devbhumi DwarkaGJ 13% 48K
  338. 0 KulgamJK 13% 19K
  339. 0 SalemTN 13% 176K
  340. 0 PanchmahalGJ 13% 58K
  341. 0 RewaMP 13% 103K
  342. 0 KollamKL 13% 132K
  343. 0 GanjamOD 13% 107K
  344. 0 RaipurCG 13% 76K
  345. 0 Agar MalwaMP 13% 27K
  346. 0 VirudhunagarTN 13% 86K
  347. 0 AdilabadTG 13% 29K
  348. 0 KishtwarJK 13% 12K
  349. 0 South GoaGA 12% 25K
  350. 0 NandurbarMH 12% 59K
  351. 0 KulluHP 12% 27K
  352. 0 Janjgir-ChampaCG 12% 51K
  353. 0 CoimbatoreTN 12% 154K
  354. 0 AnakapalliAP 12% 66K
  355. 0 DhamtariCG 12% 36K
  356. 0 SukmaCG 12% 18K
  357. 0 KutchGJ 12% 133K
  358. 0 SultanpurUP 12% 95K
  359. 0 ThiruvananthapuramKL 12% 148K
  360. 0 BangaloreKA 12% 186K
  361. 0 MaduraiTN 12% 95K
  362. 0 Sawai MadhopurRJ 12% 65K
  363. 0 MainpuriUP 12% 68K
  364. 0 DharMP 12% 85K
  365. 0 MandlaMP 12% 53K
  366. 0 Chhatrapati SambhajinagarMH 12% 131K
  367. 0 SikarRJ 12% 172K
  368. 0 JammuJK 12% 69K
  369. 0 JhansiUP 12% 76K
  370. 0 BankuraWB 12% 145K
  371. 0 RupnagarPB 12% 32K
  372. 0 AravalliGJ 12% 40K
  373. 0 SabarkanthaGJ 12% 53K
  374. 0 TonkRJ 12% 71K
  375. 0 Daman, Diu & DNHDD 12% 16K
  376. 0 AshoknagarMP 11% 32K
  377. 0 MandsaurMP 11% 55K
  378. 0 East SinghbhumJH 11% 61K
  379. 0 DharmapuriTN 11% 73K
  380. 0 BijapurCG 11% 14K
  381. 0 HardaMP 11% 21K
  382. 0 BagalkotKA 11% 64K
  383. 0 ChamoliUK 11% 21K
  384. 0 PratapgarhUP 11% 145K
  385. 0 YSR KadapaAP 11% 71K
  386. 0 SundargarhOD 11% 88K
  387. 0 DausaRJ 11% 73K
  388. 0 MuzaffarabadJK 11% 37K
  389. 0 Rae BareliUP 11% 93K
  390. 0 BankaBR 11% 74K
  391. 0 GunaMP 11% 42K
  392. 0 BalodCG 11% 34K
  393. 0 RambanJK 11% 11K
  394. 0 GadagKA 11% 27K
  395. 0 JaipurRJ 11% 253K
  396. 0 SaktiCG 11% 25K
  397. 0 KannaujUP 11% 48K
  398. 0 Paschim BardhamanWB 11% 82K
  399. 0 KhandwaMP 11% 44K
  400. 0 RayagadaOD 11% 27K
  401. 0 ValsadGJ 11% 54K
  402. 0 NeemuchMP 11% 34K
  403. 0 SolapurMH 11% 162K
  404. 0 JharsugudaOD 11% 21K
  405. 0 MahisagarGJ 11% 31K
  406. 0 AhilyanagarMH 10% 189K
  407. 0 NayagarhOD 10% 32K
  408. 0 Khairgarh Chhuikhadan GandaiCG 10% 17K
  409. 0 ChamarajanagarKA 10% 37K
  410. 0 RajnandgaonCG 10% 34K
  411. 0 RanipetTN 10% 47K
  412. 0 GondiaMH 10% 49K
  413. 0 NarmadaGJ 10% 21K
  414. 0 AmethiUP 10% 96K
  415. 0 KallakurichiTN 10% 41K
  416. 0 Ranga ReddyTG 10% 91K
  417. 0 AnantapuramuAP 10% 65K
  418. 0 NashikMH 10% 185K
  419. 0 AjmerRJ 10% 114K
  420. 0 DehradunUK 10% 52K
  421. 0 KhargoneMP 10% 62K
  422. 0 PannaMP 10% 38K
  423. 0 KrishnagiriTN 10% 69K
  424. 0 DarjeelingWB 10% 55K
  425. 0 SatnaMP 10% 73K
  426. 0 GarhwaJH 10% 38K
  427. 0 PalakkadKL 10% 106K
  428. 0 ChandigarhCH 10% 9K
  429. 0 KathuaJK 10% 29K
  430. 0 SagarMP 10% 65K
  431. 0 Tehri GarhwalUK 9% 22K
  432. 0 MarkapuramAP 9% 32K
  433. 0 BeedMH 9% 90K
  434. 0 KarauliRJ 9% 52K
  435. 0 BellaryKA 9% 60K
  436. 0 NandyalAP 9% 41K
  437. 0 ChittorgarhRJ 9% 63K
  438. 0 SirmaurHP 9% 19K
  439. 0 DharwadKA 9% 40K
  440. 0 The NilgirisTN 9% 21K
  441. 0 HanumakondaTG 9% 24K
  442. 0 PithoragarhUK 9% 17K
  443. 0 Parvathipuram ManyamAP 9% 19K
  444. 0 SangliMH 9% 92K
  445. 0 Chhota UdaipurGJ 9% 30K
  446. 0 KodaguKA 9% 24K
  447. 0 Alluri Sitharama RajuAP 9% 20K
  448. 0 Pauri GarhwalUK 9% 27K
  449. 0 TirunelveliTN 9% 56K
  450. 0 DindigulTN 9% 78K
  451. 0 SonbhadraUP 9% 59K
  452. 0 ShivpuriMP 9% 60K
  453. 0 TirupatiAP 9% 63K
  454. 0 PaliRJ 9% 86K
  455. 0 UmariaMP 9% 21K
  456. 0 WayanadKL 9% 30K
  457. 0 KoppalKA 9% 36K
  458. 0 NelloreAP 9% 81K
  459. 0 NarayanpurCG 9% 4K
  460. 0 MancherialTG 9% 24K
  461. 0 Mohla Manpur Ambagarh ChoukiCG 9% 11K
  462. 0 LaturMH 8% 61K
  463. 0 BijapurKA 8% 60K
  464. 0 AngulOD 8% 48K
  465. 0 PanchkulaHR 8% 13K
  466. 0 PalamuJH 8% 44K
  467. 0 YadgirKA 8% 26K
  468. 0 KandhamalOD 8% 23K
  469. 0 BhilwaraRJ 8% 93K
  470. 0 NainitalUK 8% 27K
  471. 0 JhargramWB 8% 27K
  472. 0 BelgaumKA 8% 123K
  473. 0 TiruvannamalaiTN 8% 79K
  474. 0 KarimnagarTG 8% 28K
  475. 0 MandiHP 8% 44K
  476. 0 KanniyakumariTN 8% 46K
  477. 0 PratapgarhRJ 8% 31K
  478. 0 JamuiBR 8% 37K
  479. 0 RaichurKA 8% 45K
  480. 0 PuneMH 8% 187K
  481. 0 MahobaUP 8% 26K
  482. 0 SeoniMP 8% 38K
  483. 0 KatniMP 8% 35K
  484. 0 Bangalore RuralKA 8% 36K
  485. 0 ChhindwaraMP 8% 61K
  486. 0 BetulMP 8% 48K
  487. 0 PakurJH 8% 22K
  488. 0 KurnoolAP 8% 39K
  489. 0 WarangalTG 8% 20K
  490. 0 SubarnapurOD 8% 16K
  491. 0 GariyabandCG 8% 19K
  492. 0 SambaJK 8% 14K
  493. 0 SidhiMP 8% 32K
  494. 0 GulbargaKA 8% 51K
  495. 0 Jogulamba GadwalTG 8% 14K
  496. 0 KalahandiOD 8% 38K
  497. 0 ChittoorAP 8% 43K
  498. 0 Yadadri BhuvanagiriTG 8% 22K
  499. 0 MalkangiriOD 8% 20K
  500. 0 TheniTN 7% 28K
  501. 0 NalgondaTG 7% 38K
  502. 0 DeogarhOD 7% 11K
  503. 0 UdaipurRJ 7% 93K
  504. 0 ChampawatUK 7% 7K
  505. 0 SivagangaTN 7% 43K
  506. 0 SangareddyTG 7% 35K
  507. 0 SirohiRJ 7% 32K
  508. 0 PeddapalliTG 7% 19K
  509. 0 RaigarhCG 7% 28K
  510. 0 LalitpurUP 7% 32K
  511. 0 SingrauliMP 7% 33K
  512. 0 KankerCG 7% 24K
  513. 0 RudraprayagUK 7% 7K
  514. 0 BarwaniMP 7% 34K
  515. 0 Saraikela-KharsawanJH 7% 26K
  516. 0 TenkasiTN 7% 38K
  517. 0 Jayashankar BhupalpallyTG 7% 11K
  518. 0 SataraMH 7% 75K
  519. 0 ChambaHP 7% 15K
  520. 0 East SikkimSK 7% 8K
  521. 0 ChhatarpurMP 7% 49K
  522. 0 KoraputOD 7% 30K
  523. 0 PunchJK 7% 46K
  524. 0 BanswaraRJ 7% 43K
  525. 0 AlmoraUK 7% 18K
  526. 0 Rajanna SircillaTG 7% 13K
  527. 0 BastarCG 7% 19K
  528. 0 RajouriJK 7% 21K
  529. 0 DodaJK 7% 9K
  530. 0 RamanagaraKA 7% 27K
  531. 0 NuapadaOD 7% 16K
  532. 0 DindoriMP 7% 20K
  533. 0 MirpurJK 6% 36K
  534. 0 NirmalTG 6% 14K
  535. 0 DharashivMH 6% 39K
  536. 0 KendujharOD 6% 45K
  537. 0 ReasiJK 6% 10K
  538. 0 BidarKA 6% 28K
  539. 0 DangGJ 6% 6K
  540. 0 RajsamandRJ 6% 36K
  541. 0 MahabubnagarTG 6% 15K
  542. 0 BalangirOD 6% 35K
  543. 0 DantewadaCG 6% 8K
  544. 0 JagtialTG 6% 22K
  545. 0 SambalpurOD 6% 23K
  546. 0 DahodGJ 6% 31K
  547. 0 West SinghbhumJH 6% 31K
  548. 0 KangraHP 6% 44K
  549. 0 AnnamayyaAP 6% 25K
  550. 0 VizianagaramAP 6% 26K
  551. 0 ShimlaHP 6% 22K
  552. 0 South SikkimSK 6% 6K
  553. 0 UnaHP 6% 15K
  554. 0 MysoreKA 6% 48K
  555. 0 ChitradurgaKA 6% 30K
  556. 0 KolarKA 6% 29K
  557. 0 SuryapetTG 6% 19K
  558. 0 NiwariMP 6% 10K
  559. 0 KorbaCG 5% 26K
  560. 0 AlirajpurMP 5% 17K
  561. 0 JhabuaMP 5% 23K
  562. 0 GoddaJH 5% 25K
  563. 0 ShimogaKA 5% 36K
  564. 0 JangaonTG 5% 10K
  565. 0 PudukkottaiTN 5% 38K
  566. 0 KhammamTG 5% 25K
  567. 0 ShahdolMP 5% 26K
  568. 0 ChatraJH 5% 18K
  569. 0 Sri Sathya SaiAP 5% 29K
  570. 0 NarayanpetTG 5% 8K
  571. 0 ShopiyanJK 5% 6K
  572. 0 BilaspurHP 5% 10K
  573. 0 KolhapurMH 5% 53K
  574. 0 BalrampurCG 5% 15K
  575. 0 KondagaonCG 5% 13K
  576. 0 TikamgarhMP 5% 21K
  577. 0 NizamabadTG 5% 19K
  578. 0 DungarpurRJ 5% 25K
  579. 0 SiddipetTG 5% 16K
  580. 0 TumkurKA 4% 46K
  581. 0 BargarhOD 4% 21K
  582. 0 West SikkimSK 4% 4K
  583. 0 AnuppurMP 4% 15K
  584. 0 ChikkaballapuraKA 4% 20K
  585. 0 ChikmagalurKA 4% 20K
  586. 0 UdhampurJK 4% 11K
  587. 0 VikarabadTG 4% 11K
  588. 0 WanaparthyTG 4% 7K
  589. 0 DhenkanalOD 4% 18K
  590. 0 SolanHP 4% 10K
  591. 0 RanchiJH 4% 39K
  592. 0 DhanbadJH 4% 28K
  593. 0 RamgarhJH 4% 13K
  594. 0 HaveriKA 4% 20K
  595. 0 NagarkurnoolTG 4% 11K
  596. 0 KodermaJH 4% 8K
  597. 0 Manendragarh Chirimiri BharatpurCG 4% 7K
  598. 0 DavanagereKA 4% 21K
  599. 0 MahasamundCG 4% 14K
  600. 0 SurajpurCG 4% 12K
  601. 0 BokaroJH 4% 24K
  602. 0 MayurbhanjOD 4% 34K
  603. 0 LateharJH 4% 10K
  604. 0 HamirpurHP 4% 9K
  605. 0 HazaribaghJH 4% 18K
  606. 0 MandyaKA 3% 20K
  607. 0 KamareddyTG 3% 9K
  608. 0 NabarangapurOD 3% 17K
  609. 0 HassanKA 3% 22K
  610. 0 JashpurCG 3% 11K
  611. 0 DeogharJH 3% 17K
  612. 0 SurgujaCG 3% 10K
  613. 0 KalimpongWB 3% 4K
  614. 0 Gaurella Pendra MarwahiCG 3% 5K
  615. 0 SimdegaJH 3% 7K
  616. 0 LohardagaJH 3% 4K
  617. 0 MahabubabadTG 3% 7K
  618. 0 KoreaCG 3% 2K
  619. 0 DumkaJH 2% 13K
  620. 0 GumlaJH 2% 9K
  621. 0 MedakTG 2% 5K
  622. 0 GiridihJH 2% 13K
  623. 0 PuruliaWB 2% 16K
  624. 0 KhuntiJH 2% 3K
  625. 0 JamtaraJH 1% 2K

The severe (> 3 m) tail concentrates in the incised Godavari gorge (Andhra's Polavaram, Telangana's Bhadradri Kothagudem) and Kerala's hill-edge districts (Idukki, Pathanamthitta, Kannur) — partly genuine steep-valley flooding, partly where the DEM is weakest. We flag it rather than hide it.

How it's built

From raw satellite terrain to a modeled flood — in four stages.

A fully documented pipeline. Click a stage to see what happens inside.

Stage 1

A high-accuracy bare-earth terrain model

The NEER DEM is a bare-earth terrain model built for hydrology across India. We derive it from GEDTM30 (CC-BY, OpenGeoHub) and calibrate it against ICESat-2 ATL08 ground photons — NASA laser measurements of the true ground surface. A spatially-blocked, cross-validated bias surface removes systematic error, and a LightGBM residual model corrects what remains. Heights are referenced to the EGM2008 geoid and hydro-flattened (sea → 0, inland water → bank level) so water routes correctly through the model.

Raw GEDTM30 (runs high) NEER DEM · matches ground truth ●

Stage 2

Rainfall → runoff (SCS-CN)

Rainfall losses — how much soaks in versus runs off — are set by the SCS Curve Number method, varied across the grid by land cover and soil. These losses are computed inside the 2D model itself, not as a separate step.

Stage 3

The 1% (100-year) design storm

Statistical frequency analysis of rainfall records yields the 1% annual-chance design rainfall — the event that defines this flood layer.

Stage 4

Rain-on-grid 2D modeling

We model the flood as a rain-on-grid (direct-rainfall) 2D HEC-RAS simulation: the design rainfall falls directly onto the terrain mesh and runs as unsteady flow over the NEER DEM, with Curve-Number losses applied cell by cell. Hydrology (rainfall → runoff) and hydraulics (how water moves and pools) are solved together in one model — with no separate hydrologic model or gauged inflow hydrographs. That is what lets it run consistently across India’s largely ungauged basins.

Modeled flood depth · HEC-RAS 2D

Accuracy & limitations

We measured it against the ground. Here's the honest result.

1.68 m 1.47 m

National terrain error (MAE), before → after correction

≈ 0.01 m

Systematic bias, driven to near-zero nationwide

Terrain accuracy by state (MAE vs ICESat-2)

  • Delhi 0.59 m
  • Haryana 0.61 m
  • Punjab 0.65 m
  • Rajasthan 0.69 m
  • Bihar 0.72 m
  • Tamil Nadu 1.04 m
  • Kerala 1.65 m

In the atlas states the NEER DEM is at its strongest. Tamil Nadu lands at 1.04 m and Kerala at 1.65 m mean absolute error against ICESat-2, at near-zero bias — flat, flood-relevant terrain, which is exactly where terrain accuracy matters most for modeled flood depth. Accuracy is lower in steep, mountainous regions, where even the satellite ground-truth is itself noisy.

What this map can't tell you

  • These are modeled flood depths, not observed flood records. They show where a 1% annual-chance event would likely produce flooding — not a forecast or a guarantee.
  • ~30 m resolution. This is regional hazard screening, not parcel-level or street-level certainty.
  • Terrain accuracy is lower in steep and mountainous areas; some locations are still rough. The atlas leads with flat, flood-relevant terrain where the DEM is strongest.
  • Hydraulic models can produce artifacts. We null physically implausible depths (we removed modeled depths over 100 m), but residual local errors can remain.

Coverage & roadmap

Live today. Growing across India.

Live

Tamil Nadu

  • 1.37 mmean modeled depth
  • 1.04 mterrain accuracy

Hover a state to highlight it; click a live state to open its map. The data is published on a schema built to grow — every new state and return period drops straight in.

Return periods

2-yr 50% / yr On request
5-yr 20% / yr On request
10-yr 10% / yr On request
25-yr 4% / yr On request
50-yr 2% / yr On request
100-yr 1% / yr Free · Live
500-yr 0.2% / yr On request
1000-yr 0.1% / yr On request

Only the 100-year (1%) event is free today. The others — and full property-level risk — are available from NEER on request.

Request other return periods ↗

Climate scenarios

Current climate Today’s rainfall baseline Free · Live
2100 · future climate SSP2-4.5 & SSP5-8.5 pathways On request

We also model the 2100 flood under future-climate rainfall — IDF design storms shifted along SSP warming pathways — to show how the 1% event grows. Available on request.

Live now
Uttar PradeshBiharWest BengalMadhya PradeshRajasthanGujaratMaharashtraJharkhandOdishaChhattisgarhAndhra PradeshTelanganaTamil Nadu & PuducherryKarnatakaKeralaGoaHaryanaPunjabDelhiJammu & KashmirUttarakhandHimachal PradeshChandigarhDaman, Diu & DNHSikkimLadakh

Puducherry is in every statistic; its enclaves (Karaikal, Puducherry, Mahe) are too small to draw on the map.

More states coming
…and the rest of India

Data access · for teams

Need flood data at scale? Tap the API.

The map is free for everyone. For organizations, we serve the underlying data for any area of interest — a city, a district, an asset portfolio, or a whole state — through a simple API.

  • Flood-depth rasters (cloud-optimized GeoTIFF) for any bounding box or boundary
  • Building, road & rail exposure, summarized for your area of interest
  • An embeddable map-tile layer for property portals — plus the 0–100 NEER Flood Score
  • Return periods from 2-year to 1000-year, delivered as GeoTIFF, JSON, CSV or tiles

Built for governments, insurers, proptech, infrastructure planners and researchers.

flood-atlas · exposure API
# exposure for any area of interest
curl https://flood-api.neer.io/exposure \
     ?region=tamil_nadu &event=100yr

{
  "event": "100yr", "unit": "meters",
  "buildings": { "total": 25231607, "exposed": 4060006, "pct": 16.1 },
  "roads_km":  { "total": 419015, "at_risk": 81574, "pct": 19.5 },
  "rail_km":   { "total": 8335, "at_risk": 2456, "pct": 29.5 },
  "depth_cog": "https://.../100yr/tamil_nadu.tif"
}

See the flood map for your state.

Free to explore. No login. Opens the live interactive map.

Need other return periods (2-yr to 1000-yr) or full property-level risk? Contact NEER →

Questions

Frequently asked

What does “1% annual-chance” or “100-year flood” actually mean?

It means a flood of this size has a 1% chance of happening in any given year — every year. It is NOT “once every 100 years.” Over a 30-year mortgage, the chance of seeing at least one such flood is about 26%. The name is a probability, not a schedule.

How do I find my home on the map?

Open the map and type your address into the search bar — it will zoom straight to that spot. If your exact address doesn’t come up, search a nearby landmark or locality instead, then pan and zoom in until you find your building. The blue shading is the modeled 100-year flood; if it covers your rooftop, your building sits inside the floodplain. Click any point to read the modeled flood depth there — how much water that spot would see in a 1% (100-year) event. It’s ~30 m data, so read it as “this building/area could flood,” not an exact figure for one wall.

What do the colours on the map mean?

The colour shows how deep the water gets. Lighter blue is shallower water; deeper, darker blue means deeper — and more dangerous — flooding. Anywhere shaded is expected to take on some water in a 1% (100-year) event; the shade tells you roughly how much. Click a point on the map for the exact modeled depth there.

ShallowDeep
Is this an official government flood map?

No. It is an open, independent, modeled flood hazard atlas built by NEER for public awareness and planning context. Always defer to official local authorities for regulatory or emergency decisions.

How accurate is it?

The underlying NEER DEM reaches sub-meter to ~1.6 m accuracy in the atlas states (Tamil Nadu 1.04 m, Kerala 1.65 m corrected MAE vs ICESat-2), at near-zero bias. The flood layer is modeled on top of that at ~30 m, so treat it as regional hazard screening rather than parcel-level truth.

The map shows my area flooding, but I've never seen it flood. Why?

Three reasons, usually. First, this is the 1% (100-year) event — a rare, severe flood. You can live somewhere for decades and never witness it, and that does not mean the risk is zero. Second, the map shows modeled hazard — where water would go in that extreme event — not a record of floods that have already happened. Third, at ~30 m resolution it cannot see every wall, embankment, or drain that might protect a specific building. Read it as “this area could flood in a severe event,” not “this will flood.”

My area floods often, but the map doesn't show it. Why?

This layer models one specific thing: the 1% annual-chance river and rainfall flood. It does not capture chronic, local flooding from blocked drains, overwhelmed urban stormwater, very localized low spots, or small channels below the ~30 m grid. Frequent street flooding from poor drainage is real — it is simply a different problem than the large, rare event this map is built to show. That gap is exactly why we publish our limitations alongside the map rather than hide them.

I'm in the 100-year floodplain — what should I do?

Plan, don’t panic — this is a hazard screen, not a prediction that your home will flood. A few sensible steps: (1) Confirm locally — at ~30 m the map can’t see your exact plot, which may sit higher or lower, so check with local authorities and your own experience. (2) Be ready — know your nearest higher ground and route to it, sign up for any local flood warnings, and keep documents, medicines and an emergency kit handy. (3) Protect the building — where you can, raise electrical points and valuables above likely water levels, keep nearby drains and channels clear, and consider barriers or seals for doors and openings. (4) Building or buying? Factor it in — a higher plinth and good site drainage go a long way. (5) Look into home insurance — India has no standalone flood policy, but standard home cover (like IRDAI’s Bharat Griha Raksha) already includes flood damage under “STFI” perils. Very few households carry any cover, so it’s worth knowing the option exists.

A flood is happening right now — what do I do?
If water is rising and life is at risk, get to higher ground immediately — do not wait.
  • Move up and out. Head to the highest safe ground or upper floor you can reach. Leave early; don’t wait to see how bad it gets.
  • Never enter floodwater. Don’t walk, swim or drive through it. Just 15 cm (6 in) of moving water can knock you off your feet; 30 cm (2 ft) can sweep away a car. If you can’t see the road, turn around.
  • Beware electricity. Stay away from fallen power lines, electric poles and submerged outlets — electrocution is a real flood danger. Switch off mains power if you can do so safely.
  • Keep clear of drains, canals and rivers. Currents and open drains are hidden killers during floods.
  • Trapped indoors? Go to the highest floor and signal for help. Move onto the roof only if water keeps rising — don’t shut yourself in a windowless top room.
  • Follow the authorities. Obey evacuation orders and official alerts.

Emergency numbers (India): 112 — all-India emergency · 108 — ambulance · 1077 — district disaster control room.

What can actually be done to reduce flood risk?

It spans scales, and it’s mostly about planning ahead. City and regional level: keep new development out of the highest-hazard zones, protect and restore natural drainage (wetlands, floodplains, lakes, urban green space that soak up water), and invest in stormwater drainage, embankments and early-warning systems where they matter most. Building level: elevated plinths, flood-resilient materials, protected utilities. None of it is quick or cheap — chronic urban flooding often needs sustained drainage investment — which is exactly why knowing where the risk concentrates matters: it lets planners aim limited budgets at the places and people most exposed. That prioritization is what this atlas is built to support.

Is it free? Can I use it?

Yes — it is free and public. The methodology and source data are documented and openly licensed (see attributions). Get in touch if you want to collaborate or need the underlying data.

Which states and return periods are available?

Free today: the 100-year (1% annual chance) flood layer now spans 27 states and union territories — the whole Indo-Gangetic plain (Uttar Pradesh, Bihar, West Bengal, Punjab, Haryana, Delhi), the west (Rajasthan, Gujarat, Madhya Pradesh), the Himalaya (Jammu & Kashmir, Ladakh, Himachal Pradesh, Uttarakhand, Sikkim), the east (Jharkhand, Odisha, Chhattisgarh) and the south (Tamil Nadu, Andhra Pradesh, Telangana, Karnataka, Kerala, Goa) plus Puducherry, Chandigarh and Daman, Diu & DNH. Interactive maps are live for the southern and central states; the newest additions show data and analysis now with maps following. Other return periods — 2, 5, 10, 25, 50, 500 and 1000-year — and full property-level risk are available from NEER on request.