Bulgarian placename etymology is characterized by the linguistic and ethnic diversity of the Balkans through the ages and the position of the country in the centre of the region. While typical Bulgarian placenames of Slavic origin vastly dominate, toponyms which stem from Iranian, Turkic, Arabic, Hebrew, Celtic, Gothic, Greek, Thracian and Latin can also be encountered.
Slavic names account for the vast majority of toponyms on the territory of Bulgaria. Typical forms are:
Slavic names often appear in pairs, wherever two places were historically related, or happen to have the same name. Examples: Stara Zagora and Nova Zagora (old/new), Veliko Tarnovo and Malko Tarnovo (great/small), Gorni Bogrov and Dolni Bogrov (upper/lower).
Nov, novi, nova, and novo (meaning "new") are also frequent, as many places were depopulated during Ottoman rule and later rebuilt. Examples: Novo Selo (9 villages are named thus), Novi Pazar. Nevertheless, the presence of "new" does not guarantee that the settlement has ever been destroyed — it may have been founded by settlers from another village who wished to retain the name, for example.
Bulgaria was part of the Ottoman Empire for 500 years, and Turkish placenames were widespread in southern and northeastern Bulgaria. However, most of them were changed in the 20th century. Examples: Kardzhali (Kırca Ali, partially Arabic through Hebrew), Kazanlak (Kazanlık), Pazardzhik (Pazarcık), Kyustendil (Köstendil), Buzludzha (Buzluca). Hisarya, Harmanli (Harmanlı), Dolni Chiflik (Aşağı Çiftlik), Dzhebel (Cebel).
There is a certain number of Greek names, mostly in southern Bulgaria along the Bulgarian Black Sea Coast, which stem from ancient poleis and towns. Examples: Ahtopol, Sozopol, Nikopol, Nesebar (a Slavicized version of the Hellenized Thracian name Menebria, later Messembria), Provadiya.
An amount of names from Roman times has also survived until today, many of them being Roman versions of former Greek or Thracian ones. Some Latin names had fallen into disuse long ago, but were revived in the 20th century. Examples: Montana, Lom (a Slavicized version of Latin Almus), Archar (a Slavicized version of Latin Raciaria), Drastar (nowadays Silistra), derived from Durostorum, Nikopol and Nikyup, derived from Nicopolis, Dzherman, derived from Germania, etc. The old Bulgarian name for Sofia, Sredets, was also derived from Sardica (Serdica).
Some names of Romance origin date to later times and are ascribed to the Balkan Latin (Vlach) population, several examples being Vakarel, Pasarel, Banishor, Gurgulyat.
There are a number of ancient placenames from other languages, including Thracian or Dacian, such as Plovdiv, derived from Pulpudeva (itself derived from Philippopolis), German and Celtic, such as Vidin from Dunonia and Bononia.
The placename Varna of the non-metathesized group CorC bears witness of Old Bulgarian's preliterate period – or perhaps stemming from a more ancient Proto-Indo-European root.[clarification needed]