Decide the script family first, then hunt for one or two giveaway letters inside it. Family narrows you to a region in about two seconds (is it blocks, is it a joined flowing line, is it round loops), and a single unique letter then splits that region into one country.
Never try to read the sign. You are matching shapes, and shapes survive blur, angle and low light far better than meaning does. Everything here excludes the Latin alphabet, which has its own guide: which language uses which Latin letters.
Quick reference
| Script family | Fastest visual tell | Points to |
|---|---|---|
| Chinese characters | dense square blocks, every one a different pattern | China, Taiwan, Hong Kong, Singapore, Japan |
| Japanese kana | simple curvy or simple angular shapes mixed in among complex ones | Japan |
| Hangul | blocks built from straight lines and circles, with spaces between words | Korea |
| Cyrillic | Я Ж Д Б Ю Ф among otherwise Latin-looking letters | Russia, Ukraine, Balkans, Central Asia, Mongolia |
| Greek | Δ Σ Ω Ξ Ψ Λ | Greece, Cyprus |
| Arabic script | one joined flowing line, dots above and below it, reads right to left | North Africa, Middle East, Iran, Afghanistan, Pakistan |
| Hebrew | square blocky letters hanging from a top edge, reads right to left | Israel |
| Devanagari and relatives | a straight horizontal line running along the top of every word | North India, Nepal, Bangladesh, Punjab |
| South Indian scripts | round curls and loops, no line along the top | South India, Sri Lanka |
| Thai and Lao | small loops with tails, extra marks stacked above the line | Thailand, Laos |
| Khmer | tall ornate letters with pieces hanging below the line | Cambodia |
| Burmese | rows of circles | Myanmar |
| Armenian | hooks and small bowls, all at an even height | Armenia |
| Georgian | rounded letters with loops reaching above and below | Georgia |
| Ethiopic | blocky syllables with little legs and side ticks | Ethiopia, Eritrea |
| Tibetan | top line plus a small dot between every syllable | Tibet, Bhutan |
| Traditional Mongolian | vertical columns hanging off a spine | Inner Mongolia, Mongolia |
Chinese, Japanese and Korean
These three look alike from across the street and are trivial to separate once you know where to look.
Chinese is characters and nothing else. Every character fills the same square, every one has a different internal pattern, and there are no spaces between words. If a sign is wall to wall complexity with no simple shapes in it, it is Chinese.
Japanese mixes those same characters (kanji) with two sets of simple phonetic symbols (kana). Hiragana is curvy and looks handwritten: の は が で. Katakana is angular and looks stamped: ラ メ ン. The moment you see a simple shape sitting between two complex ones, you are looking at Japan. The character の is the most reliable single check there is: constant in Japanese, absent from Chinese.
Korean uses hangul, built from straight lines and circles packed into blocks. The circles are the tell: ㅇ and ㅎ appear everywhere in 한국 and 서울, and a free-standing circle almost never occurs inside a Chinese character. Korean also puts spaces between words, so the text reads as separate chunks rather than an unbroken run. That points to South Korea.

Simplified or traditional
Once you know the text is Chinese, character shapes split mainland from island. Mainland China and Singapore use simplified forms; Taiwan, Hong Kong and Macau use traditional ones. Compare 学 with 學, 湾 with 灣, 广 with 廣, 国 with 國: traditional forms carry visibly more strokes in the same space.
Two caveats. Japanese uses its own shortened forms, so 国 and 学 turn up in Japan too; apply this test only after kana has ruled Japan out. And mainland signs still use traditional characters in calligraphy, temple plaques and logos. If you land on traditional characters, traffic direction splits the rest: Hong Kong and Macau drive on the left, Taiwan on the right. The full list is in which countries drive on the left.
Cyrillic: which country's Cyrillic
All Cyrillic looks like Russian until you check for letters Russian does not have. Scan for anything unusual, then work from the table.
| Language | Look for | Also worth checking |
|---|---|---|
| Russian | ы э ё, and none of the letters below | uses ъ only rarely, inside words |
| Ukrainian | і ї є ґ | no ы, no э, no ъ |
| Belarusian | ў | has і, but no и, no щ, no ъ |
| Bulgarian | ъ used as a normal vowel inside words | no ы, no э, no ё |
| Serbian | ћ ђ, plus ј љ њ џ | no й, no я, no ю, no щ |
| Macedonian | ѓ ќ ѕ, plus ј љ њ џ | never ћ or ђ |
| Kazakh | ә ғ қ ң ө ұ ү һ і | nine extra letters, so they are hard to miss |
| Kyrgyz | ң ө ү and nothing else extra | no ә, no ұ, no ғ |
| Mongolian | ө ү and nothing else extra | no ң |
Some of these letters are genuinely unique among the languages above and some are not, so be careful which conclusion you draw.
The letter ў is the strong one: among these languages only Belarusian uses it. The Ukrainian set і ї є ґ is reliable too, although і alone is shared with Belarusian and Kazakh, so look for ї or є before committing to Ukraine. For Bulgaria, the tell is ъ inside ordinary words such as България, where Russian would use ы.
Serbian and Macedonian share ј љ њ џ, so those four give you the corner of the Balkans but not the country. The split is ћ and ђ for Serbian against ѓ, ќ and ѕ for Macedonian. Serbia and Montenegro use Latin as often as Cyrillic, so a Latin sign does not rule them out.
In Central Asia, ә, ұ, ғ, қ and һ point at Kazakhstan among the languages listed here, but the same letters serve Tatar, Bashkir and other languages inside Russia, and ғ and қ also appear in Tajik. Kazakhstan is partway through a move to Latin, with the target pushed back to 2031, so either script can turn up there. Only ө and ү with no ң means Mongolian; add ң and it becomes Kyrgyz.

Arabic script: Arabic, Persian, Urdu and Pashto
Arabic script is one continuous joined line with dots scattered above and below it, running right to left. Four related languages share it, each adding letters the others lack.
| Language | Extra letters | Visual feel |
|---|---|---|
| Arabic | none of the below; uses ك and ي | plain, mostly horizontal baseline |
| Persian | پ چ ژ گ; uses ک and ی | same baseline, with the four extras |
| Urdu | Persian set plus ٹ ڈ ڑ ں ے ہ ھ | words slope down from right to left |
| Pashto | Persian set plus ټ ډ ړ ږ ښ ڼ ځ څ ګ ې ۍ | small rings sitting under letters |
Start with پ چ ژ گ. If any of them appear, the language is not Arabic. That does not yet mean Persian, because Urdu, Pashto, Kurdish, Sindhi and Uyghur all borrowed the same four letters. It only means you have left the Arab world.
Urdu is the easiest of the rest to spot, because of how it is set rather than which letters it uses. It is typeset in Nastaliq, where each word steps downwards from right to left instead of sitting flat, so a block of Urdu looks like a series of diagonal cascades. Look also for ے at the end of words and for ں, a noon with no dot. That puts you in Pakistan.
Pashto adds letters carrying a tiny ring underneath, as in ټ ډ ړ ڼ ګ, which no other language here uses. Persian without any Urdu or Pashto extras points at Iran.
Numerals and the second language
Digits split the Arab world further. Eastern Arabic numerals ٠ ١ ٢ ٣ ٤ ٥ ٦ ٧ ٨ ٩ are common from Egypt eastwards. Iran and Afghanistan use a variant where four, five and six are drawn differently: ۴ ۵ ۶. Morocco, Algeria and Tunisia use Western digits almost exclusively, and the Gulf and Egypt increasingly do too, so Western digits alone narrow little.
The Latin line on a bilingual sign helps more. French alongside Arabic suggests the Maghreb or Lebanon; English alongside Arabic suggests Egypt, Jordan or the Gulf. Morocco has a third clue that is close to conclusive: official signs there carry Tifinagh, an angular alphabet of geometric shapes such as ⵜⵉⴼⵉⵏⴰⵖ, stacked with Arabic and Latin.

South East Asian scripts
Four scripts here are commonly confused, and each has one shape habit that gives it away.
Thai letters mostly begin with a small loop, and there is no line along the top. Tone marks and vowels stack above and below, so a line of Thai looks busy at three levels, and the narrow upright tails give it a spiky look. That is Thailand.
Lao descends from the same ancestor but has fewer letters and rounder, more flowing shapes. If the script looks like Thai but calmer, with more open curves and fewer sharp upright pieces, it is Lao. The countries are easy to separate otherwise: Thailand drives on the left, Laos on the right.
Khmer is the ornate one. Letters are tall and carry curls and flags on top, and second consonants are written in a shrunken form hanging under the main letter, so the text spills below the baseline in a way Thai and Lao do not. That is Cambodia.
Burmese is unmistakable: almost every letter is built from circles, so a line of text reads like a row of O shapes. That is Myanmar.


The Indian subcontinent
Split this group in one move: does a straight horizontal line run along the top of the words, or not.
With a top line. Devanagari has a firm straight bar with angular letters and strong vertical stems hanging from it. It writes Hindi, Marathi and Nepali, so it gives you the region but not the country: India and Nepal are not separable by script alone. Bengali also has a top line, but the letters below it are curvier, with rounded bowls and small triangular tips, and it covers Bangladesh, West Bengal and Assam. Gurmukhi has a top line too, with simpler rounder letters underneath, and points at Punjab in India.
Without a top line. Gujarati is essentially Devanagari with the bar removed, so if the letters look familiar from Hindi but float free at the top, it is Gujarati. Odia is a halfway case: instead of a straight bar, each letter is capped with a rounded dome, so a line of Odia looks like a row of umbrellas.
The southern scripts have no top line and are built from curls. Tamil is the most open and uses relatively few distinct shapes, with little stacking. Malayalam is tightly curly, full of small loops. Telugu and Kannada are both rounded with small ticks and hooks above the letters, and beginners should treat them as one bucket covering Karnataka, Telangana and Andhra Pradesh rather than guessing between them. Sinhala is the roundest of all, with straight lines nearly absent, and means Sri Lanka.

Other scripts worth knowing on sight
Greek is familiar from maths notation: Δ Σ Ω Ξ Ψ Λ. Greece and Cyprus.
Hebrew letters are square and blocky, hang from a common top edge, and read right to left. Five letters take a different shape at the end of a word: ך ם ן ף ץ. Israel.
Armenian is rows of even height letters built from hooks and small bowls, many of them near copies of each other, as in Հայաստան.
Georgian is rounded and has no capital letters, with loops reaching above and below the line, as in საქართველო.
Ethiopic, used for Amharic and Tigrinya, is blocky and upright with small legs and side ticks on each syllable, as in ኢትዮጵያ. Ethiopia and Eritrea.
Tibetan has a top line like Devanagari, plus letters stacked vertically and a small floating dot between syllables: ཀ ཁ ག ་. Tibet in China, and Bhutan, where it writes Dzongkha.
Traditional Mongolian is the only script here written in vertical columns, running top to bottom with columns advancing left to right, the letters hanging off a continuous spine: ᠮᠣᠩᠭᠣᠯ. It is the everyday script in Inner Mongolia in China, and Mongolia is reintroducing it beside Cyrillic. A vertical column next to Chinese characters means Inner Mongolia; next to Cyrillic, it means Mongolia.
Common mix-ups
These are the pairs that cost people rounds, with the detail that settles each.
| Confused pair | The detail that separates them |
|---|---|
| Chinese vs Japanese | any simple curvy or angular shape among the complex ones is kana, so it is Japanese; の is the fastest single check |
| Japanese vs Korean | hangul contains circles and the text has spaces between words |
| Russian vs Ukrainian | і ї є ґ present, ы and э absent |
| Ukrainian vs Belarusian | ў is Belarusian; Belarusian also drops и and щ |
| Russian vs Bulgarian | ъ used as a vowel inside ordinary words, with no ы anywhere |
| Serbian vs Macedonian | ћ ђ for Serbian, ѓ ќ ѕ for Macedonian |
| Kazakh vs Kyrgyz vs Mongolian | ә and ұ mean Kazakh, ң with no ә means Kyrgyz, ө and ү alone mean Mongolian |
| Arabic vs Persian | پ چ ژ گ rule Arabic out |
| Persian vs Urdu | Urdu words step downhill from right to left and end in ے |
| Thai vs Lao | Lao is rounder and simpler, with fewer upright spikes |
| Khmer vs Burmese | Khmer hangs pieces below the line, Burmese is rows of circles |
| Devanagari vs Bengali | both have the top line, but Bengali letters below it are curvy rather than angular |
| Greek vs Cyrillic | Cyrillic has Я Ж Д Ю, Greek has Δ Σ Ξ Ψ |
Two standing warnings. Bilingual and trilingual signs are common in border regions, tourist areas and countries with more than one official language, so read every line before deciding. And minority languages break neat rules constantly: Uyghur in western China uses an Arabic based script with the vowels spelled out, Tibetan appears deep inside China, and Cyrillic and Latin coexist across Serbia, Montenegro and Kazakhstan.
Script gets you to a region quickly, so check it first. Everything else in a photo, from vegetation to bollards to number plates, narrows it the rest of the way, which is the subject of the main guide, how to guess a country from a photo.
Practice
The fastest way to learn these is to meet them in real photos rather than in charts. Play a free guest round at /try and make yourself name the script family before looking at anything else in the frame.
Each country page also has a round focused on that one country, for example Japan, South Korea or Thailand, useful for drilling a single script until its shapes feel automatic.