Cascading Country → Region selector as a Strapi 5 custom field. Pick a country, then pick a region — stored as structured JSON, auto-parsed in API responses.
- Two-stage cascading selector: Country → Region with autocomplete
- Country filtering: show all, only selected, or all except selected countries
- ISO 3166-1 alpha-2 country codes with full country and region datasets
- Stored as a single
stringfield — no extra tables or relations - Automatic JSON parsing in API responses (Koa middleware)
- Region overrides: replace default regions for any country with custom entries
- Formatted "Country, Region" column in Content Manager list view
npm install @hitkey-io/strapi-plugin-regionOr with yarn:
yarn add @hitkey-io/strapi-plugin-region- Open the Content-Type Builder
- Add a new Custom field → Region Select
- Configure country filtering:
| Option | Description |
|---|---|
| All countries | Show every country in the selector (default) |
| Only selected | Show only the listed country codes |
| All except selected | Show all countries except the listed ones |
Country codes are entered one per line in ISO alpha-2 format (e.g. US, TR, AE).
You can replace the default region list for any country with your own custom entries. In the Content-Type Builder, find the Region overrides section and enter one entry per line in the format:
CC:code:Name
For example:
TR:ALN:Alanya
TR:ANT:Antalya
TR:KMR:Kemer
This replaces all default regions for that country (TR in this case) with only the listed ones. Countries without overrides keep their default region lists.
No additional plugin configuration is needed. The plugin works out of the box once installed.
The field stores a JSON string in the database:
{ "country": "AE", "region": "AZ" }The plugin automatically parses stored JSON strings into objects in all /api/* responses via Koa middleware:
{
"data": {
"id": 1,
"name": "Burj Al Arab Jumeirah",
"location": {
"country": "AE",
"region": "AZ"
}
}
}No extra configuration or population is required — it works automatically for all content types using the Region Select field.
| Requirement | Version |
|---|---|
| Strapi | 5.x |
| Node.js | 20+ |



