Thailand Administrative Divisions / ประเทศไทย
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
#
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
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" )
import { readFileSync } from "fs" ;
const data = JSON . parse ( readFileSync ( "data/all-province.json" , "utf-8" ) ) ;
console . log ( `Total: ${ data . length } provinces` ) ;
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
divisions/{province-slug}/
divisions/{province-slug}/{district-slug}/
Subdistricts are listed inline in each district's README.
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.
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