Open dataset of Vietnam's administrative hierarchy under the post-2025 restructure (Decision 19/2025/QĐ-TTg). Vietnam eliminated the district level nationwide effective 1 July 2025, creating a streamlined 2-level structure: 34 provincial units directly administering 3,321 communes/wards. This repository provides structured, bilingual (Vietnamese + English) reference data with geographic coordinates at every level. Designed for developers, researchers, government agencies, and AI agents.
Licensed under CC-BY-4.0. Browse the hierarchy through GitHub's folder navigation, download aggregate files in JSON/CSV/NDJSON, or integrate directly via raw URLs.
| Item | Details |
|---|---|
| Province/City | 34 |
| Commune/Ward | 3,321 |
| Coordinates | ✅ Included (all levels) |
| Formats | JSON, NDJSON, CSV |
| License | CC-BY-4.0 |
| Last Updated | 2026-06-01 |
| Website | openadmindata.org/vn |
| API | openadmindata.org/api/vn |
| # | Province/City | Commune/Wards | Link |
|---|---|---|---|
| 1 | Hà Nội (Hanoi) | 126 | Browse |
| 2 | Cao Bằng (Cao Bang) | 56 | Browse |
| 3 | Tuyên Quang (Tuyen Quang) | 124 | Browse |
| 4 | Điện Biên (Dien Bien) | 45 | Browse |
| 5 | Lai Châu (Lai Chau) | 38 | Browse |
| 6 | Sơn La (Son La) | 75 | Browse |
| 7 | Lào Cai (Lao Cai) | 99 | Browse |
| 8 | Thái Nguyên (Thai Nguyen) | 92 | Browse |
| 9 | Lạng Sơn (Lang Son) | 65 | Browse |
| 10 | Quảng Ninh (Quang Ninh) | 54 | Browse |
| 11 | Bắc Ninh (Bac Ninh) | 99 | Browse |
| 12 | Phú Thọ (Phu Tho) | 148 | Browse |
| 13 | Hải Phòng (Hai Phong) | 114 | Browse |
| 14 | Hưng Yên (Hung Yen) | 104 | Browse |
| 15 | Ninh Bình (Ninh Binh) | 129 | Browse |
| 16 | Thanh Hóa (Thanh Hoa) | 166 | Browse |
| 17 | Nghệ An (Nghe An) | 130 | Browse |
| 18 | Hà Tĩnh (Ha Tinh) | 69 | Browse |
| 19 | Quảng Trị (Quang Tri) | 78 | Browse |
| 20 | Huế (Hue) | 40 | Browse |
| 21 | Đà Nẵng (Da Nang) | 94 | Browse |
| 22 | Quảng Ngãi (Quang Ngai) | 96 | Browse |
| 23 | Gia Lai | 135 | Browse |
| 24 | Khánh Hòa (Khanh Hoa) | 65 | Browse |
| 25 | Đắk Lắk (Dak Lak) | 102 | Browse |
| 26 | Lâm Đồng (Lam Dong) | 124 | Browse |
| 27 | Đồng Nai (Dong Nai) | 95 | Browse |
| 28 | Hồ Chí Minh (Ho Chi Minh City) | 168 | Browse |
| 29 | Tây Ninh (Tay Ninh) | 96 | Browse |
| 30 | Đồng Tháp (Dong Thap) | 102 | Browse |
| 31 | Vĩnh Long (Vinh Long) | 124 | Browse |
| 32 | An Giang | 102 | Browse |
| 33 | Cần Thơ (Can Tho) | 103 | Browse |
| 34 | Cà Mau (Ca Mau) | 64 | Browse |
| File | Format | Description |
|---|---|---|
| all-province.json | JSON | All 34 province/city records |
| all-ward.json | JSON | All 3,321 commune/ward records |
| all-flat.json | JSON | Levels 1-1 flat array |
| all-flat.ndjson | NDJSON | Streaming format |
| all-flat.csv | CSV | Spreadsheet format |
| hierarchy.json | JSON | Nested tree |
| schema.json | JSON Schema | Data schema |
import json
with open("data/all-province.json", "r", encoding="utf-8") as f:
data = json.load(f)
for r in data:
print(f"{r['name']['local']} ({r['name']['en']}) — {r['children_count']['ward']} commune/wards")import { readFileSync } from "fs";
const data = JSON.parse(readFileSync("data/all-province.json", "utf-8"));
console.log(`Total: ${data.length} province/citys`);| Field | Type | Description |
|---|---|---|
id |
string | Unique identifier |
level |
integer | 1=province/city, 2=commune/ward |
level_name |
object | Level label (local + English) |
name.local |
string | Name in local script |
name.en |
string | English name |
name.slug |
string | URL-safe slug |
parent |
object/null | Parent division reference |
ancestors |
array | Full ancestor chain |
children_count |
object | Count of children per level |
zip_codes |
array | Postal codes (where available) |
geo.lat |
string | Latitude (WGS84) |
geo.lon |
string | Longitude (WGS84) |
Full schema: data/schema.json
divisions/{province-slug}/
Commune/Wards are listed inline in each province/city's README.
- llms.txt — Quick reference for AI agents
- llms-full.txt — Summary with per-province/city links
- Per-province/city data — Full data by province/city
Vietnam Administrative Divisions Dataset (CC-BY-4.0)
URL: https://github.com/open-admin-data/vietnam-administrative-divisions
See CITATION.cff for machine-readable citation.
- Data: CC-BY-4.0
- Open Admin Data — Browse, search and explore administrative divisions for every country
- open-admin-data — GitHub organization with all country repos
- ListBase — Structured reference data for every country