Name tags for brand names like "BigC", "TESCO Lotus" or "Shell"

Maybe its worth to make a note in the wiki on how to name branches of brands like “BigC”, “TESCO Lotus”, “7-Eleven” or “Shell”.

The value for “name” should be “the common default name” (see Comment at ). Some users might think that it should be the name in local language (thai), but this is wrong, imho. This misunderstanding maybe could be caused by the great number of imprecise text in the OSM wiki, which mainly focusses on tagging streets and places. But brand names differ a lot from street names.

This is the name, which is used by the company at the location of the tagged POI. For example the TESCO-Lotus superstores in thailand are all very clearly signed with “TESCO Lotus” (see picture at ). This is also the name that is used in the logo on their website and that is printed on top of their platic bags.

The name written in latin letters. For TESCO-Lotus stores this would be the same, “TESCO Lotus”.

The name written in thai letters. For TESCO-Lotus stores this would be เทสโก้ โลตัส, because this is the official transcription that is used e.g. on the website of the company in thailand.

This seems to be very simple and clear to me.

But someone could also try to name a TESCO-Lotus store like this:
nat_name = เทสโก้ โลตัส
Would this be better? Is this the intension of “nat_name”?

Maybe it would be good to collect more examples. Maybe we should create a page for listing all big brands (supermarkets, fuel stations, …) with the correct tagging for thailand in the wiki.

What do you think?

Changed all names of “TESCO” into “TESCO-Lotus” because there seem to be different types of TESCO and Lotus stores in Thailand (e.g. hypermarkets, Tesco Lotus Express, Talad Lotus and Value Store outlets).

A listing of some brands might help people mapping e.g. on vacation.
I already have a list with some logos, that help to Identify operators of amenity=fuel or atm.
I consider that useful for photo-mapping. Any interest in making that public available?

For the name-tag:
I’m not sure what native Thai people would expect to see on a Thai map.
Everything in Thai, or the brand names as they appear on the logo?
That is what should go into the name tag. the name used for that in Thailand.
In case that is “TESCO”, then it should be that. In case it’s the Thai, than it would be Thai.

Any native speakers around?

On the picture you’re referring to, the Thai name is written on the sign above the entrance.

It might be useful for some kind of special map rendering to have that also in the DB. I’m not sure Nat_name is the right tag for that purpose, but we could do. According to tagstat it’s not used that often: 1,774


Sure. I think about creating single wiki pages for each type e.g. supermarkets, fuel stations, banks and so on, which are combined in a wiki group “brand names in Thailand” (or something like this). On this pages there could be a table listing with pictures of logos, “default name” (which we have to find out first), name in Englisch, name in Thai and more things like this. And maybe in future there could also be a tagging suggestion for each brand. I do not like to complicate everything with operator tags, but i would accept this of course for the final goal of “a mostly complete tagging”.

Of course this all needs much time, so please do not expect too much in the near future. Sometimes we all have to work to earn money too :slight_smile:

I would say that there is not the “only one nativeThai”. There are different thai people, different groups and different oppinions. Some would like to see everything in Thai, some would like a mix of both and maybe some may even like everything in English.

If we make a poll on this question, how much percent would you accept for “the only one oppinion for thai natives”? 51%? 70% Simple Majority? Absolut majority? And of course there will be more people from the “higher social classes” that will participate in the poll.

In the page “Map features” name is described as “the common default name”. IMHO this is the name the company uses at the location of the POI and not “what people would like to see”. “What people like to see” is buisness of the map-renderer. And this could be much more complicated than just “use tag name=" or "use tag name:en=”. It could also be a combination of everything, which needs special algorithms to calculate it. This is my personal interpretation of course, so it would be interesting to hear other opinions.

For street names we all agree to use the “official name” from the “official authorities”. So why not do the same for brand names? Why not use the name that the brand is registered in Thailand?

Some of the names I’ve seen or tagged:

  • BMW บีอ็มดับเบิลยู

  • C’est si bon เซ-ซิ-บอง (name of a restaurant in Khon Kaen)

  • Cafe Amazon คาเฟ่ อเมซอน

  • Fairy Plaza แฟรี่พลาซ่า

  • Kaenwattana Marble King แก่นวัฒนา มาร์เบิล คิงส์

  • Mart มาร์ท (English word used as brand name for shops at Caltex fuel stations)

  • Mercedes-Benz (didn’t see in Thai yet)

  • 7ELEVEN or 7-ELEVEN or 7-eleven or 7-Eleven (is written differently in publications. didn’t see in Thai yet)

  • Wind Mill กังหันลม (name of a restaurant in Khon Kaen

  • Häfele เฮเฟเล aber “

  • Esso เอสโซ่

  • Bangkok กรุงเทพ

  • Kasikornbank ธนาคารกสิกรไทย

  • Siam Commercial Bank ธนาคารไทยพาณิชย์

  • McDonald’s แมคโดนัลด์

  • The Pizza Company เดอะ พิซซ่า คอมปะนี

  • Sportsworld สปอร์ตเวิลด์

I think it is the same with all names not only with brand names. The examples show different cases. May be there are more.
  • The original name is either in Thai (e.g. ธนาคารไทยพาณิชย์) or a foreign language, one of them is English (e.g. Mart. Häfele, C’est si bon).

  • The derived name reflects the pronounciation of the original name: romanization or “thaiization” (e.g. เอสโซ่ for Esso).

  • The derived name reflects the meaning of the original name: translation (e.g. “Siam Commercial Bank” or “Wind Mill”).

  • The derived name contains both of the above: mixture (e.g. Kasikornbank).

  • There is a different international name (e.g. Bangkok, to my knowledge this is a romanization of the local Northeastern name บางกอก).

To reflect these cases in OSM we would need many different tags:
  • Original Thai name in Thai letters: name:th:th

  • Original Thai name romanized: name:th:rm

  • Original English name “thaiized”: name:en:th

  • Original German name “thaiized”: name:de:th

  • Original French name “thaiized”: name:fr:th

  • Original Thai name translated to English: …

  • Original Thai name translated to German: …

  • Original English name translated to Thai: …

  • Original German name translated to Thai: …

But a map is a map and not a encyclopedia. And a map simplifies the reality. It is an illustration. E.g. a highway is represented by its middle line and not as an area with details like median strip and hard shoulder. I've used three tags. Because OSM Wiki doesn't have a clear definition of them used mine:
  • name (e.g. กรุงเทพ)
    If available Thai name in Thai letters or a name in Thai letters derived from a foreign name.
    If there is no name in Thai letters available, e.g Mercedes-Benz, the foreign name is tagged with “name” in roman letters and “name:en” as well as “name:th” are not used.
    “name” is the historic and the default tag to have something for all renderers. Otherwise I wouldn’t use it in Thailand. I think when used it should be in the local language. When doing business in another country it is a good idea to speak and write as the locals. Would we like e.g. chinese or korean companies using their letters for their names in our countries? I’m afraid currently we don’t have Thai OSMer to give us their opinions. And they might have different opinions too.

  • name:en (e.g. Bangkok)
    If there is a name in Thai letters “name:en” gets the romanized Thai name, an original foreign name (Esso) or an international used name defined by the organisation.
    Within OSM “name:en” is used. This suggests to pronounce the word according to English rules. But this is not true anymore and we have a mixture. I think “name:rm” would be more appropriate nowadays.

  • name:th (e.g. กรุงเทพ)
    If there is a name in Thai letters available same as “name”.

In rare cases 5 tags might be used:
  • name (e.g. กรุงเทพ)

  • name:en (e.g. Bangkok)

  • name:th (e.g. กรุงเทพ)

  • int_name (e.g. Bangkok)

  • nat_name (e.g. Krungthep)

An additional problem are the different ways to romanize and that even the administration doesn't obey the current official rules. Even in the same city romanized street names are written differently. Same for "thaiization". You will get different Thai names for your name from different translators.

Thanks for the answer. Just a few thougths on this. Three OSMer, three different oppinions. This shows clearly how important it is to find a rule how we all want to handle it together.

This is why i think it would be the best to create a list with tagging suggestions for supermarkets, banks, …

No, i have to correct myself. The best solution for this problem would be a centralized database for brand names, where the renderers could request the names by sending an ID for a brand and select from the available translations for this ID. Or there should be something like a “name reference”. The current system is redundant. But this is another problem…

Yes and no. I saw many street names in very different transcriptions to roman letters. But this isn’t really a big problem, because the most important tag is the tag name=* and in Thailand of course name:th=* too. And for this tags there should always be the name of the street written in Thai language. But brands are different.

Brand names are not like names for streets, places, cities or waterways. Their name is created (given) by the company itself. And if a Chinese company likes to use their name written in chinese signs officially in Germany, make advertisement in Germany with this name, then the name=* would be this chinese written name in germany. But i never saw a chinese company doing this in germany. But in thailand many companies use their foreign name in advertising, as logo and everywhere.

OSM is more than a normal map. And we could tag width and the numbers of lanes for streets too. So it would be no problem to create an area. Your wishes for simplification are OK. Sometimes i would like OSM to be simpler too. But it is like it is. We will not be able to stop this growing complexity.

No, Mercedes Benz has an official transcription. Look at the Mercedes-Thai-Website. Or do you mean something else?

Do you really want to use “เซเว่น อีเลฟเว่น” (see wikipedia and thai-website of 7eleven) for name=* of “7eleven”?

Why not? Germany is a free, multi-cultural country.

And it is the same problem vice versa for foreign names to names written in thai letters. Better we stop naming things completely :wink:

I knew from the beginning this would be a hard discussion. But better it is discussed. Maybe we find a way to handle it together and not everyone alone with his own system. If we all do something wrong identically than it would be no problem to correct it automatically via API or with a SQL-query. But if we all tag in different ways then it might be a hard manual work to harmonize it all in future.

I saw an interesting point when reading about romanization.

The official system used in Thailand to romanize words is RTGS. Wikipedia explains it nice for those not knowing it:

But even with such a system existing, a lot of people don’t use it. People making printed maps do their own system, as well as those making street signs. Sometimes you have different spellings on each end of a way.

So there is only one correct way to label streets, that’s the original Thai name.

I think we all agree that this goes to name:th

This leaves the question how to make it readable for foreigners.

As the rules are defined to romanize a thai script using RTGS it might be possible for an advanced renderer to romanize these on the fly when rendering a map. Or it could be romanized during import. If someone can provide me with source code to romanize (c, c++ or java) I can set up a demonstration site.

When romanization can be done automatically, the English tag could be used for the English name.

name:en would then be used for the translated english word. So instead of “Thanon Sukhumvit” as required by RTGS we would write “Sukhumvit Road”.

I would apply that only to highway=* and similar, not to amenities.

Any comments on this issue?


I agree with this and appreciate very much the constructive contributions to this tough problem which unavoidable leads to a tough discussion. Different countries have chosen different solutions or have open issues: Multilingual names.

I like this idea. Worth to investigate further. But no “must”, more a “nice to have”.

Thanks I didn’t have these two yet. They are from my “former days” when I could hardly read Thai letters. But now I see “everywhere”: foreign companies have derived names in Thai letters defined and are using them. I think all foreign companies have it. Not all Thai people can read roman letters and some can’t even read. I have seen flyers from the mall “Fairy Plaza” using only the Thai and not the roman version of their name.

No, I don’t want, I’m already doing this as I pointed out in my above rules. Just look around Khon Kaen.

And there’s a reason for that which I think is very important. Imagine you want to create a bilingual map, on paper or electronic, with local names in local letters and names in roman letters. You just take the values from the tags “name” and “name:en” all over the world, for each country, for each region. No need to think: When I’m in Thailand I have to take “name:th” and “name”. Oops, I crossed the border, now I have to take “name:lo” and “name:en”. This approach works also when there are different languages and different letters in the same country. The OSMers of the region can decide and put in the tag “name” what they think fits best.

With such a bilingual map a foreigner who can read roman letters can find a romanized name, pick up the local name in local letters and might be able to spot the local name on a sign or show it to a local person when asking for help. A local person can read a derived name in the local language and pick up the original foreign name. Unfortunately OSM doesn’t supply such a map yet.

Or even stop talking about things or doing anything. When you don’t do anything you hardly can make errors. :wink: :wink:

But errors are not bad. They give the change to make it better.

Unfortunately the automation is not trivial. I’m using the program which is also listed on the Wikiprojekt Thailand page Chulalongkorn University: Thai Romanization Program almost one year. It’s version 1.4 now. Even when there’s a romanization available I like to compare it with the programs romanization. I’ve experienced these issues:

  • Sometimes the romanization of the program is wrong.
    These cases are rarely but they happen. I always ask a native speaker to look at the error.

  • Sometimes the program has another romanization than on the sign.
    This happens more often and is due to the fact that the rules have changed and even the government does not follow the rules. You can also find different romanization on different signs of the same road.
    I take the programs version very rarely: If it is not the name of a company, brand, government office etc. and the romanization on the sign is definitely wrong. I keep in mind that people using the map will compare with the romanization on the sign and not enter the Thai name from the sign into a program and compare the output.

    Thus if you can’t find the romanization on the internet you have to be on the spot.

Hi Willi,

I think the program does the RTGS right. The rules look not that difficult. Also the change history lists other changes on the program than on the romanization.

An issue is that there exist multiple ways to do a romanization. ISO 11940 is a different way to do it.
According to Wikipedia RTGS is the “official” way.

You live a longer time in Thailand, you sure know that things are handled different sometimes in Thailand. Not every rule is treated as a rule.
Think for the requirement to wear a helmet riding a motorcycle. And then look on the street on how many actually do when there is no MIB around.

Why should everyone creating a sign follow these rules? It’s more popular to write it in a way that when pronounced English it’s closer to the original sound.

For a sample of a bilingual map using “name (name:en)” as labels have a look at what it might look like:


I disagree. I find it strange that the “common default name” (your interpretation for it is “local name”) should be different from what is written in big letters on many shops (e.g 7-Eleven). But i think a longer discussion will lead to nothing without having more people who participate. In my oppinion it is the business of the renderer to pick the correct value for its needs. But this is one of the many points that are “under discussion”. And i hate discussions :wink:

I personally could accept your suggestion to put the Thai name into name=. But then there should be no exception. Every name= for brands (supermarkets, fuel stations, drug stores, … and even headquaters of telephone operators like TOT or AIS) has to be written in thai letters. It is a very simple rule. And easy rules are always good because people know how to use them. And every big brand with a foreign name that acts in thailand surely has a thai transcription it uses, i guess. I know thai people are very proud of their country and their language, so it would not be totally wrong to do it like this. But i suspect many other users (even many thai people) will disagree in this and put something else into name=. And many “Falang” are not able to write thai or may even not have a thai font on their computer. Then they will not fill name= or put something else in it. And even thai people will often not know the correct value without having a list to look at.

As the name topic is quite complex, can we reduce the complexity?

Sure a single simple rule would be great. Germans are keen of having rules :wink:
Right now we can’t commit ourself to a single rule.

Let’s split it a bit. I try starting with streets and places. That are things that existed first with Thai names. I leave off the discussion about brand names.

Thinking about street names. Is there consensus about the name tag?
name= contains the same value as name=th, namely the name of the street in Thai script

the same for place=, so place=city, town, …
name= contains the same value as name=th, namely the name of the place in Thai script

Do we all agree up to this point? Or already discussion needed with this?

Next would be the question what to write to name:en on those tags. I think we want something in there for the English speaking foreigners.
As I didn’t study linguistics, please forgive in case I use some words wrong. We want that name to be readable with a default character-set out of the latin alphabet.
So some sort of romanization or latinization must take place.

We have the choice of using the RTGS system here, as it seams to be the favored system by the Thai government.
A problem is that this system is not consistently used. I saw a lot of street signs that use some different system. We could also use a translation where available.
An example from Germany. The big city in the south has name=München. It has name:en=Munich. That is a translation. The transcription would be “Muenchen”. Maybe the last one is only a transliteration. I’m not too sure about this.

Do we need a different tag for this? This is also still under discussion in other parts of the world.

We try our best to set up rules to do it right from the beginning. I appreciate that, because no one is doing work that gets later discarded.
But maybe we have to develop. That could include changing the edits we do now at a later time.


That’s exactly my intention and what I’m doing (Khon Kaen): “no exeception”, “simple rule”, no endless dicussions.

We as well as other organisations have this problem with other things also: due to different knowledge, different understanding, different willingness, mistakes, etc. We must and can live with that.

I think we have only a different opinion in regard to brand or company names. Can we as a first step try to agree on what is currently written on our Wiki page Multilingual names and apply it for all names except Brand names?

Have a look at WikiProject Laos / Names.

Imho this does not apply to brands, shops, supermarkets, hotels, bars, restaurants and more things like this. It surely apply to names for streets and places (e.g. lakes, cities, forrests, rivers,…); mostly to 100% of the time.

Just an idea i had today, not meant as a serious suggestion:
The more i think of it the more i get the idea that the “common default name” maybe is something completely different. Maybe it is meant like a “global identifier”. This would mean it would be the same value everywhere in the whole world. A Carrefour supermarket would always be tagged name=“Carrefour”, even if there is a very big sign “คาร์ฟูร์” outside of the named shop. A Shell fuel station would always be name=“Shell”. Mc Donalds would be “Mc Donalds” and so on. A German street “Herzogstraße” would be name=“Herzogstraße”. The Sukhumvit Road in Bangkok would be of course name=“ถนน สุขุมวิท”. The German embassy in Bangkok would be name=“Deutsche Botschaft”.
But we better should not discuss this idea.

Why is OSM so damned democratically! Why is there noone from the OSM-foundation saying: Just do it like this!

As this thread was originally about brand names, we should get back to that topic. In case we need more discussion about name tags on places and streets, these would be better in a separate thread.

A brand name is often introduced by a foreign company, thus having a logo with Latin characters. Or a Thai company considers it en-vogue to use them.

Let’S bring it to an actual example.
How do we want to tag fuel stations? For example from the Caltex brand? The different stations are owned by separate companies (with a name), but operated as Caltex.

On the company site you can browse their station directory. A random company operating “CALTEX” is called “Pathara Care Ltd., Part”:

I would then add the company name in the name tag (in all it’s language variations) and the operator “CALTEX” in the operator tag (again in all it’s language variations). In case the name of the company is not known, only operator would be used.

I suggest using the “major” writing style of the brand for name or operator without language code. That is what a company is using most prominently. For caltex this would be the name in Latin characters “CALTEX” as it’s printed like this on the big signs:

  • In case the major form of writing is Thai script, it would be that. PTT with “ป ต ท” would be such a case.

What is left for discussion is what would go into the “*:th” tag in case the name was Latin. This could be a Thai-script version of the name in case the company is using such or the same as the Latin one in case the company is not using a Thai variant for keeping the brand uniform.

Edit: added example for major use of Thai writing

Sorry, but what is the difference between your suggestion and my first post? I am not able to clearly see a difference.

@WanTan: so after discussing forward and backward: I agree with your first post, as I did already in the second post, right? This thread was about whether to translate an Latin-character logo for the name:th tag or not, right?

May be we got it. May be that’s the root cause of our different opinions.

There is no “major” writing style on the big signs. The big signs are or contain the company logo which itself might contain letters in a special style. The logo is exactly defined by an image, legally protected and can be represented by an image only not by a character code like UTF-8. E.g. 7-Eleven has its name in the logo or “big sign”, Shell doesn’t.

In character coded text the companies adapt to the country. I mentioned already that the mall “Fairy Plaza” uses only the Thai and not the roman version in flyers. Even Mercedes-Benz does it on its Thai web pages. And I don’t think the company Mercedes-Benz is doing this because it’s aiming at less educated people who are not able to read roman letters.

I was talking about the brand name. And for that there is a preferred (or as I called it major) way of writing that.
Some companies prefer to use Latin characters to represent their brand, even when there is a writing with Thai script.
See the TESCO example: They also have a way to write their brand name in Thai script, but prefer to use the TESCO variant.

Shell uses on the Thai website this heading: “Shell Thailand”. So even with the whole site written in Thai script, they did chose to have “Shell” in Latin characters.

In both examples, TESCO and Shell I would this expect in “name=”, as well as in “name:en=”.
I’m still not sure what should be in “name:th”, but I would be fine with a transcription of that name in Thai script.


Well, some companies are writing more in roman letters e.g. Shell Thailand where the main and other headings are in roman letters. Others are writing more in Thai letters e.g. เมอร์เซเดส-เบนซ์ ประเทศไทย (Mercedes-Benz) where even the html page title is in Thai . May be this is just pure chance or tells something about how much you care about visitors of your web presentation or about your customers in general.

In the near future even the URLs can be in Thai. Why is this introduced? I think people prefer their mother language even if they are able to talk and write in a foreign language.

But this is not the most important point for the decision what should go into name=. What you suggest is “tagging for the renderer”, so that the renderer do not need to choose between languages. We already have name:th= for this!

Thai people who want everything written in thai could switch to a map that uses name:th=*. Than they have the whole world in thai language (in the ideal case that the whole world is translated). Why should the thai names stop at the border of thailand? This is not really logical. Normally there will be at least parts of other countries visible on every (printed) thai map.

The name for a brand is created (given) by the company itself, like parents that choose a name=* for their child :slight_smile:

But i agree in the point that we should not only look at the websites. The websites are just additional indicators for what a company uses for name=*. The quality of websites differ very much. The title-tag (title of the web-browser window) of a website may be given from the web-designer and noone told him to change it.

Much more important than the title-tags and headings in websites are the signs at the stores, used names in commercials, names on plastic bags, names in company logos and things like this.