bangladesh-geo-json

Comprehensive, ready-to-use Bangladesh administrative geography as a single nested JSON file: divisions → districts → upazilas → unions / pourashavas. Bilingual (English + Bangla), with lat/long for divisions and districts.

Release License: MIT

https://iqbalhasandev.github.io/bangladesh-geo-json/bangladesh-geo.json

CORS-enabled, served as application/json, fetchable from browsers and servers alike.

What’s inside

Tier Count Notes
Divisions 8 name, bn_name, lat, long
Districts 64 name, bn_name, lat, long
Upazilas 495 name, bn_name
Unions 4 540 name, bn_name
Pourashavas 328 name, bn_name, category — all attached to their upazila

Schema

[
  {
    "name": "Chattagram",
    "bn_name": "চট্টগ্রাম",
    "lat": "22.356851",
    "long": "91.783182",
    "districts": [
      {
        "name": "Comilla",
        "bn_name": "কুমিল্লা",
        "lat": "23.4682747",
        "long": "91.1788135",
        "upazilas": [
          {
            "name": "Debidwar",
            "bn_name": "দেবিদ্বার",
            "unions": [
              { "name": "Subil", "bn_name": "সুবিল" }
            ],
            "pourashavas": [
              { "name": "Debidwar", "bn_name": "দেবিদ্বার", "category": "B" }
            ]
          }
        ]
      }
    ]
  }
]

Quick use

curl

curl -L -o bangladesh-geo.json \
  https://iqbalhasandev.github.io/bangladesh-geo-json/bangladesh-geo.json

Browser / Node.js

const data = await fetch(
  'https://iqbalhasandev.github.io/bangladesh-geo-json/bangladesh-geo.json'
).then(r => r.json());

console.log(data[0].name);                          // "Chattagram"
console.log(data[0].districts[0].upazilas.length);  // upazilas in first district

PHP / Laravel

$tree = json_decode(
    file_get_contents('https://iqbalhasandev.github.io/bangladesh-geo-json/bangladesh-geo.json'),
    true,
);

Python

import json, urllib.request
tree = json.loads(urllib.request.urlopen(
    'https://iqbalhasandev.github.io/bangladesh-geo-json/bangladesh-geo.json'
).read())

Alternative URLs

For pinned versions or download workflows, GitHub release assets are also available:

# Latest release
https://github.com/iqbalhasandev/bangladesh-geo-json/releases/latest/download/bangladesh-geo.json

# Specific tag
https://github.com/iqbalhasandev/bangladesh-geo-json/releases/download/v1.0.0/bangladesh-geo.json

Sources merged

Spelling drift between sources resolved via a normalized alias map (e.g. Cumilla ↔ Comilla, Barishal ↔ Barisal, Chattogram ↔ Chattagram).

Field conventions

Versioning

Semver via git tags. Each release ships bangladesh-geo.json as a downloadable asset and the main branch always serves the latest via GitHub Pages.

License

MIT — see LICENSE. Source datasets retain their respective licenses; this repository is a derivative compilation.

Contributing

Issues and PRs welcome — especially for spelling corrections, new pourashavas, or upstream data refreshes.