This page retraces the origin of place names in Belgium by analyzing their roots and using old maps and other historical elements to determine which names are Celtic, Latin or Germanic (Frankish or Saxon). The different toponyms are classified by category, most often by prefixes and suffixes. Maps have been created to facilitate the visualisation of the geographical distribution of each type of place name.
Belgian municipalities naturally have different sounding names depending on whether they lie in the Dutch-speaking, French-speaking or German-speaking region. But the history of Belgium is fairly complex for its size. Most names actually have a Germanic origin (even in Wallonia), and can be divided in very specific regions matching the medieval counties and duchies. Flemish names in Limburg bear little resemblance to those in West Flanders, and names in Hainaut are a world apart from those in the province of Luxembourg. Toponymic patterns always cross the linguistic border and tend to cluster on a north-south axis (e.g. old counties of Hainaut and Flanders) rather than east-west axis. Patterns also closely match geological regions (Hesbaye, Condroz, Inner Flanders...).
The similarity of place names between the former county of Flanders and England suggests a Saxon or Frisian origin of the Flemings. The Germanic origin of the majority of Walloon toponyms suggest that the north of Wallonia was settled in large numbers by the Franks, originally from the provinces of Limburg and Liège, and which would have spread along the Meuse, the Sambre and of the Ourthe. The hillier southern half of Wallonia, and particularly the Condroz and Famenne regions, have a greater number of Gallo-Roman names, which corresponds with the highest historical density of Roman villas.
Toponymic variations in Belgium are partly reflected by the genetic differences within the Belgian population. Recent genetic studies show that the Flemings from the former county of Flanders are particularly close to the English of East Anglia and South-East England, while the Walloons of Condroz and Famenne would have a significantly higher percentage of DNA of Roman origin than other Belgians.
Quick overview of common toponymic suffixes in Belgium
Original (ancient) suffixes
-becq, -bais, -baix
-(h)em, -(h)am, -(h)om
-hain, -han, -hen, -(h)em, -hin, -ghien
-gnies, -gny, gné(e), -agne, -ange, -enge
-ingen, -iacas, -sia
-sé(e), -zé(e), -sies, -chies, -gies
-aken, -zeke, -ik, -ijk
-ai, -ay, -ey, -et
-in, -inne(s), -enne(s)
-mal(le), mael, -meau
-rode, -raedt, -roux, -sart
Toponymy of Flanders & Brussels
Suffixes in Flanders are usually the same in every province. Their etymology is obvious since the words haven't changed in modern Dutch and are quite similar to English too. The most common are -bos (wood, bush), -berg(en) (mount), -broek (brook, creek), -burg (town), -damme (dam), -dijk (dyke), -donk (bog, swamp), -duin (dune), -hoek (corner), -hout(en) (wood), -kamp (camp), -kapelle (chapel), -kerk(en) (church), -laar/lare (marshy wood), -loo (wood, grove) -munster (minster, abbey), -veld (field) and -voorde (ford).
Gallo-Roman settlements had suffixes in -acum, which in modern Dutch have become -aken (as in Montenaken), -zake (e.g. Semmerzake), -zeke (Kemzeke), -ik (e.g. Doornik) or -ijk (e.g Kortrijk).
The eastern province of Antwerp has the particularity of having a lot of names in -hout and -donk. West Flanders has an abundance of -kerk and -kapelle (especially along the coast).
A few Flemish suffixes have regional variations in spelling : -beek/beke, -laar/lare and -daal/dael/dale. Names in -beke, -dale and -lare are found the the former County of Flanders (modern provinces East and West Flanders), those in -beek, -laar and daal in the former Duchy of Brabant (Brussels, Flemish Brabant and Antwerp), and in the province of Limburg. Names in -dael are mostly found around Brussels and can also be spelt -daal.
The suffix -daal/dael/dale/dal is the Flemish/Dutch word for "valley". It is the equivalent of the German -tal or -thal (as in Neanderthal or Emmental). The suffix -dale is also exists in England and Scotland (e.g. Boningdale, Bowderdale, Buntingsdale, Grinsdale, Lingdale, Spinningdale, Sunningdale). The word dale is used in some English dialects as a synonym for valley, and is most famously used in "Yorkshire Dales". The spelling in western Flanders (closest to England) is the same as in English, while the eastern -daal and the short form -dal are closer to German. The central Brabant region compromised with the intermediate orthography -dael, but sometimes uses -daal too.
The -beek/beke ending comes from the Flemish word for stream or small river and comes from the Old German word baki, which gave "Bach" in modern German. The word "beck" also exist some regional dialects of British English. Names in beek/beke are found all over Flanders. They are occasionally found in Wallonia as -becq, -bais or -baix, although they are confined to its western boundary with Flanders. (see below).
The suffixes -g(h)em and -(h)em correspond to the English -gham or -ham (e.g. Birmingham, Cheltenham, Clapham, Nottingham, Rotherham, Wrexham). They derive from the old German heima (which became -heim in modern German) meaning home, homestead or hamlet. The English word "home" has the same root. The -gem are much more common in the western part of Flanders (former County of Flanders). Its presence of the other side of the North Sea suggest a Saxon or Frisian origin rather than a Frankish one. The -em is found all over Flanders, but more in the central and southern regions. Although modern Flemish names have lost the "h" in "hem", it survives in the French spelling in bilingual regions like Brussels of French Flanders (e.g. Crainhem for Kraainem, Auderghem for Oudergem, Ophem for Oppem).
Suffixes specific to the province of Limburg (Haspengouw region)
The province of Limburg has very different place names from other Flemish provinces. This is probably because the region used to be part of the County of Loon, a part of the German Principality of Liège, never belonged to the Burgundian, Spanish or Austrian Netherlands. Villages and towns in the Haspengouw (Hesbaye in French) region especially, i.e. in southern Limburg (as far north as Hasselt) as well as the eastern part of the province of Flemish Brabant (around Tienen, but sometimes as far west as Leuven), have names ending in -maal, -om, -ken and -zen, which are absent from the rest of Belgium (with a few exceptions for -maal).
Names in -hoven and -rode are found almost exclusively in Limburg. Localities adjacent to the linguistic border with names in -hoven are always translated by -court in French, which makes sense as hoven comes from hof means court. The Frankish suffix -ingen is also considerably more common in the province of Limburg, as well as along the border of Wallonia. (see names in -agne, -gnée, -gny and -gnies below)
The suffix -om is a corruption of the -heim/hem suffix. For example, Gingelom was originally Gingolonham in the 10th century. This is even better illustrated with the evolution of Binkom, which was first mentioned in 1146 as Beinchem, then changed into Benchem (1159), Benkem (1218), and Binchem (1220). There is a tendency to change vowels into "o" in Haspengouw. Burg Loon (originally Lauhun), the old capital of the county of the same name, is now called Borgloon. The Dutch name of Waremme, a few kilometres south, is Borgworm. There is also Borgharen near Maastricht.
The etymology of -maal/mael is uncertain, but it could come from the Proto-Germanic malho meaning "bag" or, as a toponym, refer to a geogarphic depression. Rode comes from the Old German rotha, which means "cleared land" (for argiculture). It is sometimes also spelt -rhode and -rooi(e).
The suffix -ken derives from the Latin -acum, which was the obligatory name for registered settlements.
Note that -maal and -zen have Walloon equivalent in -malle and -zée/chies. Rode is either rendered as -roux/-rode/-raedt/-rath (the north-east of the province of Liège) or translated into the French -sart (especially near Luxembourg). The distribution of these suffixes (notably around Landen and Liège) clearly suggest a (Carolingian) Frankish origin.
Place names in Wallonia usually have Frankish or Gallo-Roman origins. Germanic names have mutated more in Wallonia than in Flanders over time. Renaissance maps show that many spellings were quite differently back then, with names sounding noticeably more Germanic than they do now. Just to take a few examples around Dinant, Adrehan changed to Dréhance, Ahen became Anhée, Eywart turned into Yvoir, Rulen became Rouillon (another Rulen near Ciney became Reuleau) and Maulen is now called Maillen. Some villages got rid completely of their old name. Wihogne was erstwhile known as Neudorp, Hannut as Dabor, and Nandrin as Ernau.
There are several towns called Marche in Wallonia. The names comes from the Latin marca, which was used to mark the frontier of the Roman empire. The term was taken over by the Franks as marka to denote the boundary between principalities, duchies and counties. Marche-en-Famenne was at the border of the Principality of Liège and the County/Duchy of Luxembourg; Marche-les-Dames and Marchovelette marked the boundary between Liège and the County of Namur; and Marche-lez-Ecaussines laid at the limit between the County of Hainaut and the Duchy of Brabant.
Places with "ville" or "villers" in their name (e.g. Noville, Neuville, Villers-la-Ville, Bois-de-Villers...) are usually linked to the site of an ancient villa, either Gallo-Roman or Frankish. In Luxembourg and south-western Germany the Latin villa became the suffix "-weiler".
The greater diversity of suffixes in Wallonia makes it easier to categorise them by regions compared to Flanders. For instance, names in -sart and -ange are very common in the southern part of the province of Luxembourg. In the Hesbaye region (between Namur and Liège, north of the Meuse), many place names begin with War- or end in -effe, -mal(le) or -hen/hain. In western Hainaut the majority of the places have names in -ies, which are rare elsewhere. The province of Namur teems with -inne and -enne. The eastern province of Liège is unique for its -ster suffixes.
Germanic names in Wallonia
The most common toponymic suffixes of Germanic origin found in Wallonia are those derived from -ingen (from the Old German ingas), -heim (heima), -mal ( malho), -berg and -hoven and -bach (baki).
Suffixes in -ange, -agne, -gnée, -gny and -gnies
Each region of Wallonia has its own variant of the Frankish ending -ingen. This suffix is usually preceded by the name of the local chief or founder of the village. For instance, Bassenge comes from Bassingen, meaning "belonging/dependency of Basso", "land of Basso" or even "Basso and his people/retainers".
Most of the old Germanic names don't exist anymore, and their spellings have often been altered so much by French speakers over time that it can be very difficult to guess the original name. Here are a few easy examples : Gobertange (from Gobert), Gottignies (from Gotfried), Gougnies (from Gundo/Gundar), Guignies (from Guy), Libertange (from Libert), Otrange (from Walter), Rubignies (from Robert)... Places like Bouvignes, Bouvignies, Bovigny and Buvingen (in Limburg) all have the same root "Bovo + ingen". Bodange and Bodegnée could come from "Baldo" (Baldwin), while Odeigne and Ottignies would come from "Otto".
There may be some -agne of Gallo-Roman origin, notably Matagne and Malagne, which sound more Latin and where Gallo-Roman villas have been discovered. The latinization of the Germanic -ingen into -iacus in Merovingian times (which started during the Roman period) makes it very difficult to discriminate between Frankish and Gallo-Roman origins. As a rule, names starting with "Ber", "Bo", "Br", "Go", "H", "Op" "Ot", "Ra", "St", "Th", "Tr", "W" and "X" are likely to be Germanic, while those starting with "C", "Fl", "J" or "Na" are Latin.
In the provinces of Walloon Brabant and Hainaut (and French Flanders) the -ingen ending has been Latinized as -gnies (or sometimes -gies, -chies or -sies - see below) by inverting the two syllables and latinisation of the Germanic plural -en by -es. In the provinces of Liège and Namur -ingen has become -gnée or -agne (both being evolutions of -aigne or -eigne). The variant -gny is found sporadically around the Meuse valley and along the border of Luxembourg. Quite a lot of names in and around Luxembourg have the suffix -ange. In central and eastern Luxembourg and in the adjacent region of Germany, place names suddenly shift to the suffix -ingen.
Names in -agne are intermediary between -ange and -gnée and found almost only between Liège, Namur, Dinant and Durbuy. There are two cases of Flemish names in -ingen translated by -enge on the bilingual area of the linguistic border: Rukkelingen (Roclenge) and Bitsingen (Bassenge).
Villages lying in between those regions have been known to shift spelling over time, confirming the interchangeability of these suffixes. For example, on 16th- and 17th-century maps many places at the boundary of the counties of Namur and Hainaut were spelt with -gnies instead of -gnée (e.g. Boignée was Boegnies), -gny instead of -gnée (Wagnée was Wagny) or -gny instead of-gnies (Soignies was Soignÿ). The -gnée spelling appears to be the most recent Frenchification. Not all derive from -ingen though; Montegnée was named Montenaken until the 13th century, so might have Latin roots (Aken is the Dutch name of Aachen, derived from the Latin Aquis).
Early 17th-century maps show that names in -ange around Luxembourg were originally spelt -ingen, inge, -ing, and in some cases -enge (but never -ange).
The first -ange spelling appears in the second half of the 17th century, which coincides with the expansion campaign of Louis XIV to the Southern Netherlands. The region of Thionville, which used to be part of the Duchy of Luxembourg and is rich in -ange suffixes, was annexed to France in 1659. The French administration is likely to be responsible for the change to -ange. The strong cultural influence of France under Louis XIV probably prompted French-speaking parts of Luxembourg to do the same.
There are only a handful of cases of adaptations to -ange outside the Duchy of Luxembourg - all in the Hesbaye region. Lantremage was named Landermenges in 1130, Otrange was Wotrenges in 1250, Tihange was Teheigne in the 1500's. Havelange was already known as Hafflangia or Hasflangia in 11th century, so it must have been the very first one to use the suffix -ange (unless it has a different origin).
The Renaissance spelling of -agne was constantly -aigne (Falmaigne, Jamaigne, Remaigne, etc.). A tributary of the Meuse River near Huy is called the Mehaigne. The medieval castle of Moha was built on top of the Mehaigne. The medieval name of Moha was Mouha, and the Walloon name of the river is still Mouhagne. Moha being a county with a history going back to Carolingian times, it is likely that the river was named after the castle/county rather than the other way round. The Germanic ending -ingen meaning "belonging to", Mehaigne originally meant "belonging to Moha". This is yet another evidence of the Germanic origin of the -agne suffix.
Bouvignes-sur-Meuse, the seat of a medieval county near Dinant, was spelt Bouingne on a map from 1584. A simple inversion of the final -ne into-en makes it sound like a much more German Bovingen ("v" are always spelt "u" on old maps). The fact that there is a Bövingen near Cologne and a Buvingen in the province of Limburg attest to the Frankish origin of the name.
Other names evolved in a more unique fashion. Trognée was Trudignie in 1124. Some lost all sign of their -ingen origin, such as Crisnée, which was named Crestengneies or Crestegnies in the late Middle Ages, or Soheit which was Sohaing in 1313. There are also exceptions; Soignies probably has a Celtic etymology (see bottom of this page) and therefore does not fit with the other -gnies. Terwagne derives from Teruonia (mentioned around 815), which strongly suggest a Gallo-Roman origin.
These suffixes are also generally Frenchifications of the Frankish -ingen (see above), although it cannot be ruled out that they derive from the older Gallo-Roman suffix -iacas or -acas (used in the same way as -ingen, hence the possible confusion). The endings -zée and -sies could be seen as the equivalent of the Flemish -zen found in the province of Limburg. Just like for the -gnies vs -gnée suffixes, there is a clear east-west divide meeting in the Charleroi region. The -chies and -gies are found in western province of Hainaut (former County of Hainaut), whereas the -zée range from eastern Hainaut to Liège (former County of Namur and the core of the Principality of Liège). The late medieval spellings of -sée and -zée were typically -cheies or -seies.
Suffixes in -(h)ain, -han, -hen, -(h)em, -hin and -ghien
These are the Walloon variants of the German ending -heim. Bovenkom in Flemish is Beauvechain in French (derived from Bovekheim or Bovekhem). The Germanic 'k' was Latinized into 'c' and the resulting 'ch' was pronounced as a French ch instead of being the two separated sounds 'k' and 'h'. The -ghien suffix is found in northern Hainaut and could be related to the -inghem suffix common in the Nord-Pas-de-Calais and -ingham suffix in eastern England, from the Old German ingaheim (probably of Frisian or Saxon origin). The -han ending is found in the Ardennes, notably around Bouillon and Durbuy and might also come from the Old German hamma meaning "wet grassland". The others are mostly in Hesbaye (roughly between Brussels, Namur and Liège). Houtaing was formerly spelt Houthain and comes from Houtheim. Houtain-l'Evêque is Waalshoutem in Flemish. Lanquesaint comes from "Alingas haim" (home of Aling).
Suffixes in -mal(le), -rode/roux/raedt, -court and -mont
The suffix -mal(le) or -mael is the Walloon version of the Dutch ending -maal common in the province of Limburg (Flemish Hesbaye). It is also limited to the Hesbaye region. Linsmeau was named Linsemael or Lismale until the 15th century. Around Liège, Dutch names in -rode/rooi have evolved into -roux or -raedt (-rath in the German-speaking region).
One particularity of Wallonia is its hybrid names mixing Germanic and Latin elements. Most names ending in -mont (from Latin "montis") and in -court or -cour (from Latin "curia") fall into this category, and are the equivalent of the Flemish -berg(en) and -hove(n). Near the linguistic border, it is common to translate the suffix "-mont" and "-court" by the Germanic equivalent "-berg" and "-hoven" or vice versa (e.g. Bergen = Mons, Geraardsbergen = Grammont, Bettincourt = Bettenhoven, Racour = Raatshoven, Gossoncourt = Gutschoven).
Names in -court are most common around Liège, Tournai and Arlon. These are all regions immediately bordering Dutch- or German-speaking areas, so it is reasonable to think that all the -court are late medieval Frenchifications of -hoven. To illustrate how much names have mutated over time, Racour/Raatshoven was called Radulphi-curtis (Rodolph-court) around the 11th century.
The difference of relief between Flanders and Wallonia explains why the -mont are much more frequent than the -berg. Most of the -berg cluster from Flemish Brabant (the hilliest part of Flanders) to the Kampen region (eastern province of Antwerp and northern Limburg). Names in -mont peak (pun intended) in eastern Wallonia - the most rugged part of the contry. Belgium-wide, there is a cline of names in -mont and -berg from east to west that reflect the country's topography.
They are the Walloon equivalent of the Flemish "-beke" or "-beek", from the old German word baki (stream, small river), which gave "Bach" in modern German and "beck" in English. All three Frenchified forms are found along the western boundary of Wallonia and Flanders. Names in -bais are typical of the Walloon Brabant, while the other two are found in the Belgian and French Hainaut and French Flanders. Note that a tributary of the Meuse near Dinant is called the Bocq (formerly spelt Boch), which obviously derives from the same root.
Names with "xh" and suffixes in -ster and -effe/-affe/-ave
The region surrounding Liège is typical for its Germanic names using a very rare "xh", and names ending in -ster. The -ster ending in all probability derive from the Frankish name "munster", meaning "monastry" and is especially common around Verviers, in the former Duchy of Limbourg. The "xh" is the Liège dialect way of rendering the German "ch" or just "h" (which is otherwise silent in French) and was spellt "sc" or "sch" in the late Middle Ages.
The suffixe -effe/-affe/-ave comes from the Germanic word ahwjo or ahhja (rendered as avia or evia in Latin) meaning wet field or wet grassland. Modave was written Modef or Modeffe until the 18th century. Bauffe derives from Baaphyium (in a text from 1119) or Bafia (1140). The oldest known form of a name in -effe is Honavi (modern Haneffe) in 911. Waleffe was Latinised as Vetus Walevia in 1050. This confirms the link between the suffixes -effe and -ave. The twin village of Ave-et-Auffe was known as Harfia in 934 and Affe in 1531.
The medieval name of Kermexhe was Comafia (in 1107), and therefore could just as well have evolved into Cormaffe or Comeffe (at the same period Marneffe was named Marneffia, Maffe and Meffe were both called Mafia, Bauffe was Bafia, Jeneffe was Cheneffia, etc.). Befve and Paifve are the only names that mixes f and v. Escanaffles has the same root, but added a "l" and a "s".
The modern variations in spelling are partly due to a need to differenciate places that would otherwise have the same name. Jeneffe was originally called Ayneffe, which can easily be confused with Aineffe or Haneffe (what's more there are two Jeneffe, so there would have been four villages with a similar name). Beffe and Befve are pronounced the same way, but at least are spelt differently. Meeffe and Maffe were both originally Maffe. The most extreme case of differentiation is Affe, which gave a slightly different name to the two hamlets forming the village : Ave and Auffe.
Names staring with "W" are quite common all over Wallonia and indicate a Germanic, and likely Frankish origin. Names from Latin and Romance languages don't normally have the letter "w". Besides, the pronunciation of "w" in Belgian French is the same as in English and Dutch, as opposed to France where people pronounce it like a "v", which would confirm a relatedness with Frankish or Saxon languages. There is a surprising number of names starting with War-.
A few names starting with Wé- used to be spelt Hué- in the Renaissance (e.g. Wépion was Huépion). It is possible that quite a few of the W- names in Wallonia come from Germanic names starting with H-, but transformed in W- once Latin and/or Old French started replacing Frankish as the region's main language. The prefix War- could be a corruption of Her-, which has survived in a few places near Liège (Herstal, Hermalle). In the same way, many "h" or "ch" were converted in xh in exactly the same region, but none for beginnings in Her- (see above).
-sche : Aische, Doische, Pesche.
=> Likely of Germanic origin. Aische is a Romanization of the German place name "Esch" (particularly common in Luxembourg).
-tal : Herbestal, Herstal
=> from the German -tal (valley).
-ton : Borton, Burton, Ermeton, Hermeton, Hotton (formerly Hotten), Septon, Virton, Warneton
=> Could be related to the Germanic ending -tun(a), which became -ton in England. Warneton is mentioned as Warnasthum in 1007.
-we(l)z : Morlanwelz, Irchonwelz, Noduwez, Peruwelz
=> Possibly related to the German -wiltz or from the Walloon word for "ford".
Other Germanic names
Other typical Germanic names in Wallonia include : Ans, Awans, Bierwart , Bolland, Geer, Harveng, Hayen, Herstal, Herstappe, Leers, Liers, Melen, Merdorp, Mirwart, Moha, Orcq, Ortho, Oteppe, Pecq, Presgaux, Roeulx, Reng, Sensenruth, Stambruges, Strud (formerly Hestrud), Tilff, Vielsalm (formerly Salm), ... A few names include the German word Heide (heath), like Chevrouheid, Ernonheid, Heyd, Ohey.
Note that none of the above names belong to the German-speaking area of Wallonia, where almost all names are German.
Here are a few names that do not sound very Germanic nowadays, but did in medieval times.
Anvaing => from Anuinio ("Anwin", in 1105), Anuen (in 1125)
Autreppe => from Altrapja
Beauraing => from Bierant (in 873)
Berloz => from Baerle (in 1099)
Binche => Bing (in Flemish)
Fallais => from Fels (cliff)
Fromiée => from Frawengie (in 1227)
Grâce => from Graz (1181)
Hannêche => from Hanech or Hannesche
Hornu => from Hornja
Housse => formerly Hus (house)
Hymiée => from Umingnées (in 1289)
Marche => from Marka (march, border)
Naomé => originally named Aldemega (8th century)
Roeulx, Roux => both from Rode
Latin names in Wallonia
There were only a handful of Roman cities in Belgium. The name of half of them was completely changed. The Condroz and Hesbaye region had nevertheless lots of Roman villas ("farms"), which gave their name to numerous modern villages. The following are based on studies by Belgian historians and genealogists, although few are known with certainty. Large Roman settlements usually had names in -acum, which turned into -ai (as in Tournai), -ay (as in Bavay), -aye (e.g. Lanaye), -ey (e.g. Ciney) or -et (e.g. Souvret).
Aywaille => from Aqualia (Latin name mentioned in 1088)
Basècles => from Basilicas
Beloeuil => from Bailluel (in 1187), ultimately from baculiolum (palisade)
Chastre => from Castrum
Chievres => from cervia (in 877 ; "deer")
Chokier => from Calchariae (in 1086)
Ciney => from Ceuniacum (11th century)
Comblain => from Comblenz (12th century), ultimately from the Latin confluens (Ourthe and Amblève rivers)
Cortil => from Curtils
Conneux => from Colnidum (in 956)
Coutisse => from culticia (cultivated land)
Donceel => from Domus Cyrici
Elouges => from Slogia or Logia (10th and 11th century)
Epinois => from Villa Spinedo (in 866)
Farcienne => from Farciana (name of a Gallo-Roman villa)
Fontenoy => from fontanetum (fountains)
Fraipont => from fractam pontem (10th century ; "broken bridge")
Gembloux => from Geminiacum (around 300 ; property of Gemellus)
Gerpinnes => Gerpinia (in 1000)
Gesves => from Gengeavia (then Geavia)
Gimnée => from Geminiacum (in 816 ; Gimnius' property)
Houffalize => from Altafalesia (in 1147 ; high cliff - could also be from the German "Hochfels")
Jupille => from Joppilia (in 687)
Juprelle => from Jupilella (in 1147)
Lanaye => from Liniacum (in 966)
Leignon => from Leniore (in 746)
Lisogne => from Lindsonia (Liudiso's villa)
Loncien => from Luncin (in 863), probably from Lonceius
Marchienne => from Marcianas (belonging to Marcius)
Monceau => from Monticellus (mound)
Oreye => from Urbis (in 965)
Pellaines => from Pellonie (in 1060)
Perwez => from Petrosum Vadum ("stony ford")
Piéton => from Trans fluvium Pintun (in 866 ; "village across the river")
Pommeroeul => from pomariolus (apple orchard)
Popuelles => from Popiola (in 1119)
Presles => from Pratella ("field")
Quevaucamps => from de Equicampo (in 1184 ; "horse field")
Retinne => from Retinas (in 847)
Serinchamps => from Serianus Campus (in 1034)
Schaltin => from Caldina (in 745)
Souvret => from Superiacum
Strepy => from Stirpiacum (Stirpius' domain)
Strée => from strata ("road", because it was on the Roman road to Bavay)
Tavier => from Tavernas (in 814 ; "shop", "stand")
Velaine(s) => from Velana (domain of Velanus)
Vellereille-les-Bailleux => from Velerella braiosa (in 1174), derived from the Latin villarella bracosa (swampy farm)
Visé => from Viosatum, Visatum, Visetum (7th century)
Vissoul => from Vicus or Vicellus
Names ending in -elles, -enne(s), -inne(s), -tin and -tinne
The province of Namur is characterised by the suffixes -inne and -enne, while those spelt -innes, -ennes and -elles are usually found in the Hainaut. Names ending in -tinne or -tin are even more specific and are only found in the Condroz region between Namur, Dinant and Ciney. The origin is usually from the Latin suffix -inas, meaning "property of". The region of Namur was heavily settled by the Romans as attested by the numerous remains of Gallo-Roman villas (=> see list of Gallo-Roman villas in Belgium).
This suffix comes from the Latin -onia (e.g. Nassonia => Nassogne), meaning roughly "property of" (just -inas and -acum). Some names might also descend from the Gaulish -onna, normally rendered as -onne or -on. Until the 18th century the traditional spelling of -ogne was -oigne. It has only survived in Seloignes, Loupoigne and Jodoigne (which are nevertheless pronounced -ogne). As always names have mutated with time (Chevetogne was mentioned as Caventonia in 956), although Latin names tended to be better preserved than Germanic ones in Wallonia. Most of the suffixes in -ogne are located in the southern half of the provinces of Namur and Liege. Bastogne is translated as Bastenaken, and Jodoigne as Geldenaken in Dutch, in accordance with the Latin origin (see -aken above). Names in -oing are corruptions of -oigne (e.g. Antoing, Warcoing) and fit in the same category.
There could be a lot more Celtic names than we know. One reason is that these names are the oldest, and therefore most susceptible to change over time. Another reason is that few texts have survived in ancient (Belgic) Celtic language, so the known vocabulary is limited.
Alleur => from Allodurum (alos = foreigners, durum = fort)
Baudour => from duron (fortified place)
Bièvre => from bebros
Bioux => from Biurtus (in 935), from bigorto (enclosure)
Braine => from Brennus (local Nervian chieftain) or bragona (muddy river)
Calonne => from cal- (stone)
Cambron => from cambo (curve)
Dinant => from Deonanti (7th century), from divo (godly, sacred) + nant (valley)
Dorinne, Durnal => from duron (little fort)
Dour => from duron (fortified place)
Durbuy => from bodio (hut, dwelling)
Glons => from Gladons (in 1034), from gladunnum (fortified enclosure)
Isières => from Eis- (violent) and -erna (used in river names)
Namur => from Namuco (property of Namo) or nemo (heaven, sacred place) or from nam/nem (curve)
Ombret => from Umbracum (the prefix Umbr- is typical of Celtic names, although -acum is Latin)
Péronnes => from Perona (in 1108 ; property of Perros)
Tongre-Notre-Dame, Tongre-Saint-Martin, Tongrinne, Tongres : from the Tungri (Belgic tribe)
Soignies => from sagunnia (city on the Senne river), later latinised as Sunniacum
Summary map of common toponymic suffixes in Belgium (simplified)
German-speaking part of Wallonia
In the aftermath of WWI, Germany ceded an area of 854 km² to Belgium as war retribution. These came to be known as the East Cantons. They now have their own German-speaking parliament for educational and cultural affairs, although they are part of Wallonia at the regional level. Names in the German-speaking Community are typical of the Rhineland region, which, like Belgium and the southern Netherlands, evolved from the Roman Germania inferior.
Remnants of Roman names in Germany usually have the suffix -ach (just like -aken in Flanders), except -bach which is the equivalent of the Dutch -beek. However none of these names are found in the East Cantons. There is one case of -weiler, from the Latin villa. Kettenis comes from the Latin catinus meaning cauldron. Baelen has its roots in the Latin bettulus (birch tree).
Germanic names are pretty straightforward, with suffixes such as -heim (dwelling), -ingen (belonging to), -berg (mount), -burg (fortified place), -feld (field), -heid (heather), -kirche (church), -born (spring), etc.
Just a few names were deformed enough with time to be worth mentioning. Nidrum is a corruption from Niederheim (the mutation to -um reminds of the -om in Hesbaye). Lontzen and Montzen fall into the -heim/-iacum category. Montzen was called Munzhic in 1075 and Muncheheim in 1225. The -ic ending correspond to the -eke in Flanders, derived from the Latin -iacum. The origin is probably Gallo-Roman, although German speakers might have translated it into -heim. Only archeological evidence of a Roman presence could confirm a Gallo-Roman origin with certitude (the same is true for the French suffixes -agne or -chies, among others).
Raeren comes from den Roidern (clearing, reclaimed land), from the Old German rotha which have -rode and -rooi in Flanders and -roux and -sart in Wallonia. The normal German ending is -rath as in Hergenrath, Rabotrath, Rocherath, Lanzerath or Berterath. A few variants are found in the East Cantons : Rodt, Rott, Rovert, Rowert and Welkenraedt (the latter is actually in the French-speaking zone, but just at the boundary).