Dealing with missing village Thai names where english is available

A) I am finding many village names that have only the English name:en tag without the local (Thai) name tag.

The problem is renderers like OsmAnd will not even render the English version when there is no local name tag available.
It makes sense because renderers need a fallback value when a translation in any language is missing.

For non-native readers like me, having access to the English names is critical to ask for directions, and to improve the maps further.
I need a solution to have these English names visible so they can be later reviewed and improved. Something that is difficult to do with OSM editors.

If I don’t find online the proper village name in Thai, how should I fill in the name tag?

  • translate the English name into Thai ? the result could be funny/wrong.
  • duplicate the English name?
  • use an empty string or a special character like question mark?

B) what external online resources do you recommend to find the correct village local names?

I’m not sure what your best options are in these cases. I try to include the Thai name when possible but if I’m pressed for time or am feeling too lazy to do the significant extra work of adding Thai names. I’ll just tag the English name and move on. I’m sorry to report that I do this but I’m sure I’m not alone. The older I get the more difficult it is to get all the vowels and tone marks right, especially if they are in a non-standard Thai font the way many business signs are.

Trying to derive a correct Thai name from the English is difficult and error-prone as you probably already know.

My apologies.


Please do not try to invent any Thai spelling from a possibly wrong RTGS tag.

Leave the name tag empty. This is the situation in the database. We need to know that status so quality assurance tools can point to the missing name.
If your specific renderer is not producing the result you like, please file a bug report/feature request with the renderer.

As you mention OSMAnd:
You can create your own map, if you have specific requirements not covered in the provided map.

Download a Thailand extract for example from Geofabrik.
Then you do preprocessing to your liking on the data. For example you can copy all name:en tags into name for your local data.
With this data you can create your map.
You can also use a script to add RTGS for all name tags/name:th in Thai script where there is no name:en. Result is much better than the libicu iso transliteration which is used by default. You can check it out on the OSM german style.

with your locally preprocessed data you then create your map for OSMAnd.

No worries, I have done the same myself a few times. No one expects that all fields should be filled once at the same time.

I already have filed a bug report, unfortunately, apps updates are slow and this could take 6-12 months.

FYI: I am extremely well versed with OSMAnd development options, I have built and maintain one plugin, I use OsmAndMapCreator for its main offline rendering feature, and I am in regular contact with the OsmAnd community via Telegram and developers through Github pull requests.

First of all, I have no intention to hack a country OSM dataset for my own benefit. I have built and maintained my own plugin so that other end-users can access it without having to download extra custom datasets (Thailand’s vector file is about 400MB).

Also, a modified OSM dataset will not work well with OSMAnd live data feature that merges daily/hourly diffs from the original country dataset, a critical feature for ground survey preparation.

So for now, my only workaround is to find out the actual Thai name through external resources.

Are there any online or offline resources available (e.g. government) where I could find out village information including Thai names ? may be the easiest to utilize because there is an English UI (but no English village name).
You may get to the amphoe’s page by selecting Province and Amphoe and then going to Governance > District List. Each subdistrict’s village names will be listed. You can switch to Thai UI and compare its name to the one you already know in English.

Another option is to go to . There is only Thai UI, and its database is structured by Local Administrative Organization rather than subdistrict. is also another source that is only in Thai. You can navigate through province > district > subdistrict, and the village name for each subdistrict will be displayed.

It should be noted that the official village name has a problem. Some village names are differ in different databases and on signage, thus you may occasionally be unable to find a certain village name. Anyway, I believe the name used on the site is the best one to use.

Perfect, thanks @nitinatsangsit! It won’t cover remote tribe villages but it will work great for others.

I can use their ArcGis tiles as a source in OSM and see the village names in English/Thai in the background. An OCR chrome extension will help me extract the text.


a) The names shown do not include the prefix บ้าน/Ban. Is it correct we should include the prefix in OSM, unless it starts with เมือง/Mueang?

b) The map actually shows a different version of OSM data including missing roads and it seems more accurate national park boundaries.
Does anyone know why ArcGis would maintain this separate OSM fork which the Thai government seems to use instead of ?

“บ้าน” should be included in all village names. The “บ้านเมืองxxx” / “บ. เมืองxxx” / “Ban Mueang xxx” is not an exception. This type of village may have been a town in the past, and the word “Mueang” has been kept as a legacy.

I think the map used on their website is provided by Nostra Map.

What a dream!
Long ago, really looonnnggg, i submitted such a bug report, telling them to use name:en when name is not available.
What was the reaction?
“Why name:en? Why not Armenian? Why not Yoruba? Why should english be special? Blah blah blah…”
Keep dreaming. This is OpenStreetMap. Not a sensible map creator.
So I do the thing frowned upon by so many people here: I put the the english version into the name tag. It works. WTF.

Take a look at
Only name:en, but no name tag. How is it rendered?
(When I create my maps for Garmin, I know how I can do it. But that does not change the experience of thousand of other users, mainly on the web versions of the map)

I take pictures of the local elementary school in small villages with just one school. I’ve been told they name small schools after the village name.

Update: I have been able to fill in many missing village Thai names using the source, and for the few that I could not find, I have kept both “name” and “name:en” duplicated. I am also in the camp that if you don’t see something wrong on the map, no one will ever fix it.

Now, I want to ask what is the purpose of the duplicated “name:th” described in the wiki?
Official village or road names are supposed to be always in Thai, so why the need for a duplicated “name:th” specifically when the local name is in Thai ?

An extra duplicated tag takes unnecessary extra storage and is prone to typos and mismatches.
Any renderer will always default back to the local language when no translations are found, so what is the use-case here?

Hm. What countries with multiple languages, like Belgium with French, Dutch, and also German? “name” would be only one of them. And then you could select the preferred language you wanted your map completely.
With only one official language in Thailand, that does not make sense in this context.
So: cargo cult?

There is an explanation at

IMO, In the case of Thailand, I believe the name:th is quite unnecessary in most cases. BTW, due to the “on the ground” principle, some places’ names, particularly some department stores or retail shops, should be kept in name=* in English, and in name:th=* in Thai script.