We are working on an address validation tool for German companies. We want to store thousands of addresses in Germany in a normalized form to compare them more easily. It appears that won't be possible; it doesn't make sense for daily use of them.

Example in Czech republic: If we have a street name "nám. T.G. Masaryka", we know "nám." means "náměstí" (town square), so we could normalize the address to "náměstí T.G. Masaryka". Similarly, there are other abbreviations like "ul." for "ulice" (street), "tř." for "třída" (avenue), and so on, that can be also normalized, which means replaced by their full name, and there would be no other change to the address. It would be just a longer version of the address, longer but usable.

Example in Germany: "Charles-de-Gaulle-Str. 20, Bonn". When I check this address in Google, I cannot find anyone writing it in the form "Charles de Gaulle Strasse 20". It seems like the form with dashes is the only form that is used. But then when I look at map of Berlin, I could not find a street name with dashes, but a lot of them had "Str." or "Straße". The same goes for München, sometimes it's one way, sometimes it's the other, but no dashes. It seems like every region, or even town, has its own naming rules for street names, that come, for example, from tradition, and no other form is "allowed".

  • Would a German person be ok with all address being in a full form with "[something] Strasse"? Or would it feel strange? Maybe even incorrect?
  • Is "ß" actually "obsolete"? We thought it was replaced with "ss".
  • Is it even possible to normalize addresses? Even if we have to normalize them per region, for example.
  • And does it make sense to normalize them, when people are used to "old" forms?
  • 14
    This is advice, not an answer to the question: store it in whatever form you like to compare it, but use whatever the user entered in every user facing situation and on the address label. People enter something different to the official form may well be doing so because they know something you don't. Apr 18 at 12:38
  • 2
    In many cases, street names are subject to compounding. So, for example, the road on which the railway station is located is typically Bahnhofstraße (rather than Bahnhof Straße). When a street is named after a person, it doesn't make sense to naively concatenate the parts of the person's name, so the components of the name and the "street type" are separated by hyphens instead -- but this is still a form of compounding (a "soft compounding" if you will). It seems to me the rules around constructing compound words are at least a large part of what you're struggling with.
    – David
    Apr 19 at 21:34
  • @JackAidley well, we have 14 forms of just "Charles-de-Gaulle-Str. 20", that's why we are trying to normalize it, compare, validate and get one valid address. Apr 21 at 8:55

5 Answers 5


In a nutshell: No

More detailed answer:

There are in fact some rules for street and place names, but there is no such thing as normalization:

Street and Place names that have proper nouns in them are coupled with hyphens:

  • Konrad-Adenauer-Platz
  • Willy-Brandt-Straße
  • Herrman-Löns-Weg
  • Sankt-Johann-Gasse

This is about the only rule we have. Then there is road and street names that follow no rule at all, but rather somewhat describe the location:

  • Am Sportplatz
  • Siedlerhof 9
  • Im Graben
  • in der Heide
  • ....

In general, it's the local administration that decides on the "official" (and thus "correct") name for the street or place. They do have to follow the above rule, but apart from that, there's a lot of leeway. (Mannheim, for example, is known to have, in some parts, no street names at all but denotes an address with numbers and letters like on a checkerboard. The townhouse there has no street name at all, but the simple address "E5".

  • 1
    One note for the proper nouns (person names): especially, if the street name contains just the last name, the hyphenated form is also not the standard. "Schillerstraße" vs. "Schiller-Straße" vs. "Friedrich-Schiller-Straße". Newer streets are more normalized, but that approach cannot be applied backwards. And if the proper noun is a location, hyphenation is also unusual.
    – Chieron
    Apr 18 at 11:01
  • 1
    Isn’t the rule rather that composite nouns use hyphens (if not written as one word). One could have a Straße zum Gedenken an Konrad Adenauer. While this may seem made up in the street list linked you’ll find names like An der Straße nach X, Straße des X, Am X, so constructs like this exist. You can also have -er constructs like Schweizer Straße, which also leads to another interesting fact: Schweizerstraße is also possible, but what be a street named after a Mr/Ms Schweizer
    – dlrlc
    Apr 18 at 14:24
  • 1
    One example from my home town always stumps me: "Am Mühlen Falder". Like, what's a Falder and why is this not a compound word or at least hyphenated when it "feels" like it should be?!
    – YetiCGN
    Apr 18 at 15:40
  • 1
    Small correction: The squares in Mannheim can have numbered addresses as well. So in your example, "E5" would be the street name and the complete address could be like "E5, 3". However, the buildings on opposite sides of the same physical street do have a different street name. See de.wikipedia.org/wiki/Quadratestadt ... except that E5 is in fact an exception because there is no other building on the E5 square so they omit the number in the address.
    – mkrieger1
    Apr 19 at 15:46
  • 1
    @Chieron The non-hyphenated form is in my experience standard when non-proper nouns are used as well, not just when only the last name is used (for example, Bahnhofstraße, Gartenstraße, etc.). It's also standard when non-personal proper nouns are used, at least single-word proper nouns (for example Weserstraße). IMHO what the OP is struggling with is the rules of composing compound words.
    – David
    Apr 19 at 21:17

There are rules how to write street names in standard German.

You can always write Straße instead of the abbreviation Str. The letter ß is not obsolete. The letters ss are used after short vowels. That's not the case in Straße. You can read more about ß vs ss on Wiktionary.

There are many streets in Berlin (and all over Germany) with dashes in the name according to the mentioned rules.

With that said: there is nothing to "normalize".

  • 3
    +1 While street names have stricter rules (in one language) as you outline here well than names of people themselves, a street name also is that: a name. It's never a good idea to try apply a rule schematically to names and to try tell people that their name is wrong. Apr 18 at 3:30
  • 8
    BTW: There are even official sources for street names, e.g. govdata.de/daten/-/details/verzeichnis-der-strassennamen and metadaten.geoportal-bw.de/geonetwork/srv/api/records/… - so there's already "normalized" form defined for each street.
    – tohuwawohu
    Apr 18 at 5:43
  • 2
    The thing is, you have to normalize them, otherwise you cannot compare them. You basically have to put names to one form, replace all Str. ..str. Straße with one form, lowercase them, remove excessive spaces, and preferably replace special characters with spaces as well. In Czech republic, this normalized address, minus the lower case, of course, could be used as official address. But that's not the case in Germany, as it seems. Apr 18 at 6:38
  • 11
    +1, but note that ß is not used in Switzerland, where the word indeed is "Strasse". OP should be aware of this, because sooner or later their piece of software may be applied to Switzerland, even if currently only Germany is in scope. Apr 18 at 11:27
  • 9
    @OndrejValenta I'm curious "in Czech republic … normalized address … could be used", or "are actually used", or "must be used"? I'll also add, half-seriously, definitely non-trollingly, the Falsehoods programmers believe about addresses - which I like as a resource re: street names.
    – kubi
    Apr 18 at 16:52

As written in the comment by tohuwawohu, there is an official source for the street names in Germany, containing one official spelling for each street:


This is probably what you want to save in your database.

However, from a user perspective you probably want a somewhat fuzzy many-to-one map for searching street names. In your example, all the following entries should map to the same street:

  • Charles-de-Gaulle-Strasse
  • Charles-de-Gaulle-Straße
  • Charles-de-Gaulle-Str.
  • Charles de Gaulle Straße
  • Charles-d.-Gaulle-Straße
  • C.-d.-Gaulle-Str.
  • C.d.Gaulle Str.

One can probably construct a lot more examples. If you assume your users use exactly the spelling in the official data base, a lot of street names will not be found because of minor differences in how they spell it.

  • 2
    Some of your examples are borderline wrong. "Strasse" is officially the wrong spelling, at least for "German" German, and the last examples are somewhat butchered. The rule "proper nouns must be connected with hyphens is also somewhat broken.
    – tofro
    Apr 18 at 10:00
  • 11
    @tofro I agree, they are somewhat or even mostly wrong but the point is that as a user of some map software I would still expect the software to recognize which street is meant.
    – quarague
    Apr 18 at 10:32
  • 1
    It should be noted, that abbreviating anything but Straße to Str is too likely to cause ambiguity and therefore typically avoided.
    – guidot
    Apr 18 at 14:10
  • 5
    @tofro A good address validation tool should offer you suggestions "did you mean ... instead?" and not just plainly state that your version of Charles-de-Gaulle-Straße is wrong because you put one space where a dash is in the official version. That's what's meant by being "fuzzy" on the input. Of course, for storing the data you would normalize it to the official spelling.
    – YetiCGN
    Apr 18 at 15:39
  • 1
    @tofro "Strasse" might be wrong sometimes. It is still expected user input. Not everybody on this planet has ß on their keyboard, in which case it is actually allowed. Some things are written in all caps substituting SS instead of the fairly unknown capital ß. Strasse is not wrong for people sending mail from Switzerland. And all that's moot because everybody writes Str. instead.
    – tobi_s
    Apr 19 at 7:29

Would a German person be ok with all address being in full form with "[something] Strasse"? Or would it feel strange? Maybe even incorrect.

If it is on an actual letter, normal Germans really don't care. If it was good enough for the mail carrier to find my mailbox and put it in, then it is good enough for me. [1]

If it is on a legal contract, you may want to be a little more precise, just to be sure.

Is "ß" actually "obsolete"? We thought it was replaced with "ss".

No, the correct word for street is still Straße.

Is it even possible to normalize addresses? Even if we have to normalize them per region, for example.

Yes and the normalizations will work for all of Germany. However, and this is a software development answer, normalization is for programs not people. For programs, you can replace all ß with ss or all variations of Str., Str, Strasse, Straße with just STR. Ä and ä with AE etc. Programs don't care. But don't use that normalization for anything but comparison. Do not show this to humans.

And does it make sense to normalize them, when people are used to "old" forms?

For people? No, it doesn't. Just use what they give you, or what the German Post Office has on file for them.

I used to write computer programs to correct addresses, in Germany. Normalization obviously is a solid first step. But that was in the last millenium. Nowadays that is probably a service Google offers for cents. Before you program somthing, make sure it is worth the effort. It sounds like you are reinventing a wooden wheel, when Google is selling full cars for cheap.

[1] you will encounter weird people that *insist* on a specific way of writing their address, even if the postal service, city administration and the literal physical sign on their street say different. Just ignore them.
  • 7
    "you will encounter weird people that insist on a specific way of writing their address, even if the postal service, city administration and the literal physical sign on their street say different. Just ignore them." – I know someone who lives in a house which sits in between two streets. The lot, and thus the address, belong to one street, but the entrance is actually on the other side. This person insists on writing the street wrong because with the correct street, people regularly are not able to find the house. I see nothing "weird" about that, and ignoring them would be a bad idea. Apr 18 at 14:26
  • 1
    You mean they insist on having an additional address line like "Eingang Andere-Strasse"? that is perfectly fine and legal. If they insist on you writing their address as "Charles-de-Gaul Strasse" when all other records say it's "Charles de Gaul Straße" is just weird and needs to be ignored.
    – nvoigt
    Apr 18 at 14:42
  • @nvoigt I think Jörg means that they write their address as “Andere Straße 25” [assuming the entrance is between numbers 23 and 27] instead of “Charles-de-Gaulle-Straße 42” [assuming that’s the official address]. Which is fine if you’re giving your address to someone with the intention that they pay you a visit, but probably won’t fly if you’re filling out an official form to confirm your identity and residence. Apr 18 at 16:10
  • Uh, if the mailman cannot find their "Ladungsfähige Adresse" they have other problems then that and should probably work on that problem first. And we are not talking about giving a different address alltogether (which the OP hadd no way to confirm), we are talking about giving a different "Schreibweise" of the same address and insisting on using that despite all authorities saying otherwise. I know that sounds crazy, but people like this exist.
    – nvoigt
    Apr 18 at 18:58

The only thing to "normalize" is *straße to *str. or Straße to Str., depending on what the end result should be.

Either you want all of the streets ending like this:

  • Charles-de-Gaulle-Str.
  • Karlstr.
  • Bonner Str.

or like this:

  • Charles-de-Gaulle-Straße
  • Karlstraße
  • Bonner Straße

Everything else, changing hyphenation, spacing or abbreviations, in essence, changes the actual adress.

  • With all the Deppen Leer Zeichen nowadays Karlstraße may become Karl Str.. Also improper Fugenlauts have to be expected (Karlsstraße).
    – AmigoJack
    Apr 20 at 8:18
  • "changes the actual adress" - I think that's beside the point. The OP is asking for a way to normalize street names so different ways to write the same street name - correct or not - are recognized to refer to the same street and not to any other street (in the same town or even zip code). Unless you can show a place that has, in the same zip code, both a "Charles-de-Gaulle-Straße" and a "Charles de Gaulle Straße", the fact that without hyphens, it is essentially a different street name is irrelevant. Apr 21 at 0:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.