Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Thailand Administrative Divisions / ประเทศไทย

Overview

Item Details
Province 77
District 928
Subdistrict 7,364
Coordinates ✅ Included (all levels)
Postal Codes ✅ Included (subdistrict level)
Formats JSON, NDJSON, CSV
License CC-BY-4.0
Last Updated 2026-06-01
Website openadmindata.org/th
API openadmindata.org/api/th

Browse by Province

# Province Districts Subdistricts Link
1 กรุงเทพมหานคร (Bangkok) 50 154 Browse
2 สมุทรปราการ (Samut Prakan) 6 50 Browse
3 นนทบุรี (Nonthaburi) 6 52 Browse
4 ปทุมธานี (Pathum Thani) 7 60 Browse
5 พระนครศรีอยุธยา (Phra Nakhon Si Ayutthaya) 16 207 Browse
6 อ่างทอง (Ang Thong) 7 73 Browse
7 ลพบุรี (Loburi) 11 121 Browse
8 สิงห์บุรี (Sing Buri) 6 43 Browse
9 ชัยนาท (Chai Nat) 8 53 Browse
10 สระบุรี (Saraburi) 13 109 Browse
11 ชลบุรี (Chon Buri) 11 92 Browse
12 ระยอง (Rayong) 8 56 Browse
13 จันทบุรี (Chanthaburi) 10 76 Browse
14 ตราด (Trat) 7 37 Browse
15 ฉะเชิงเทรา (Chachoengsao) 11 93 Browse
16 ปราจีนบุรี (Prachin Buri) 7 64 Browse
17 นครนายก (Nakhon Nayok) 4 41 Browse
18 สระแก้ว (Sa Kaeo) 9 59 Browse
19 นครราชสีมา (Nakhon Ratchasima) 32 285 Browse
20 บุรีรัมย์ (Buri Ram) 23 189 Browse
21 สุรินทร์ (Surin) 17 159 Browse
22 ศรีสะเกษ (Si Sa Ket) 22 204 Browse
23 อุบลราชธานี (Ubon Ratchathani) 25 219 Browse
24 ยโสธร (Yasothon) 9 79 Browse
25 ชัยภูมิ (Chaiyaphum) 16 124 Browse
26 อำนาจเจริญ (Amnat Charoen) 7 56 Browse
27 บึงกาฬ (Buogkan) 8 53 Browse
28 หนองบัวลำภู (Nong Bua Lam Phu) 6 59 Browse
29 ขอนแก่น (Khon Kaen) 26 199 Browse
30 อุดรธานี (Udon Thani) 20 155 Browse
31 เลย (Loei) 14 90 Browse
32 หนองคาย (Nong Khai) 9 62 Browse
33 มหาสารคาม (Maha Sarakham) 13 133 Browse
34 ร้อยเอ็ด (Roi Et) 20 192 Browse
35 กาฬสินธุ์ (Kalasin) 18 134 Browse
36 สกลนคร (Sakon Nakhon) 18 125 Browse
37 นครพนม (Nakhon Phanom) 12 95 Browse
38 มุกดาหาร (Mukdahan) 7 53 Browse
39 เชียงใหม่ (Chiang Mai) 25 199 Browse
40 ลำพูน (Lamphun) 8 51 Browse
41 ลำปาง (Lampang) 13 97 Browse
42 อุตรดิตถ์ (Uttaradit) 9 67 Browse
43 แพร่ (Phrae) 8 78 Browse
44 น่าน (Nan) 15 99 Browse
45 พะเยา (Phayao) 9 68 Browse
46 เชียงราย (Chiang Rai) 18 123 Browse
47 แม่ฮ่องสอน (Mae Hong Son) 7 44 Browse
48 นครสวรรค์ (Nakhon Sawan) 15 130 Browse
49 อุทัยธานี (Uthai Thani) 8 69 Browse
50 กำแพงเพชร (Kamphaeng Phet) 11 78 Browse
51 ตาก (Tak) 9 60 Browse
52 สุโขทัย (Sukhothai) 9 86 Browse
53 พิษณุโลก (Phitsanulok) 9 93 Browse
54 พิจิตร (Phichit) 12 88 Browse
55 เพชรบูรณ์ (Phetchabun) 11 116 Browse
56 ราชบุรี (Ratchaburi) 10 104 Browse
57 กาญจนบุรี (Kanchanaburi) 13 95 Browse
58 สุพรรณบุรี (Suphan Buri) 10 109 Browse
59 นครปฐม (Nakhon Pathom) 7 106 Browse
60 สมุทรสาคร (Samut Sakhon) 3 40 Browse
61 สมุทรสงคราม (Samut Songkhram) 3 36 Browse
62 เพชรบุรี (Phetchaburi) 8 92 Browse
63 ประจวบคีรีขันธ์ (Prachuap Khiri Khan) 8 48 Browse
64 นครศรีธรรมราช (Nakhon Si Thammarat) 23 169 Browse
65 กระบี่ (Krabi) 8 52 Browse
66 พังงา (Phangnga) 8 48 Browse
67 ภูเก็ต (Phuket) 3 16 Browse
68 สุราษฎร์ธานี (Surat Thani) 19 130 Browse
69 ระนอง (Ranong) 5 30 Browse
70 ชุมพร (Chumphon) 8 70 Browse
71 สงขลา (Songkhla) 16 127 Browse
72 สตูล (Satun) 7 36 Browse
73 ตรัง (Trang) 10 90 Browse
74 พัทลุง (Phatthalung) 11 65 Browse
75 ปัตตานี (Pattani) 12 115 Browse
76 ยะลา (Yala) 8 58 Browse
77 นราธิวาส (Narathiwat) 13 77 Browse

Data Files

File Format Description
all-province.json JSON All 77 province records
all-district.json JSON All 928 district records
all-subdistrict.json JSON All 7,364 subdistrict records
all-flat.json JSON Levels 1-2 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

Quick Start

Python

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']['district']} districts")

JavaScript

import { readFileSync } from "fs";

const data = JSON.parse(readFileSync("data/all-province.json", "utf-8"));
console.log(`Total: ${data.length} provinces`);

Schema

Field Type Description
id string Unique identifier
level integer 1=province, 2=district, 3=subdistrict
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

Hierarchy Browse

divisions/{province-slug}/
divisions/{province-slug}/{district-slug}/

Subdistricts are listed inline in each district's README.

AI Integration

Citation

Thailand Administrative Divisions Dataset (CC-BY-4.0)
URL: https://github.com/open-admin-data/thailand-administrative-divisions

See CITATION.cff for machine-readable citation.

License

Related

  • 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

About

Thailand admin divisions for developers, bilingual, AI-friendly. ข้อมูลจังหวัด อำเภอ ตำบล หมู่บ้าน ในรูปแบบ JSON/CSV

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages