What this tool does
Cologne Phonetics, or Kölner Phonetik, is a phonetic algorithm published by Hans Joachim Postel in 1969 specifically for German. Like Soundex it groups similar-sounding names, but its rules reflect German pronunciation, so it performs far better on German names than Soundex does. This encoder computes the digit code in your browser and handles umlauts and ß automatically.
How it works
Every letter is mapped to a digit from 0 to 8, with several letters depending on their context:
0 : A E I J O U Y (H is never coded)
1 : B; P (not before H)
2 : D T (not before C/S/Z)
3 : F V W; P before H
4 : G K Q; C and X in hard contexts
5 : L
6 : M N
7 : R
8 : S Z; C/D/T in soft contexts; X after C/K/Q
After every letter is coded, two cleanup passes run. First, consecutive identical digits are collapsed to a single digit. Second, all 0 codes are removed except a leading one. The result is a compact digit string. The context rules matter: a “C” before A/H/K/O/Q/U/X codes as 4 (hard “k” sound) but otherwise codes as 8 (soft “s” sound), and a “D” or “T” before C/S/Z codes as 8 rather than 2.
Why Cologne Phonetics rather than Soundex for German
Soundex was designed in 1918 for English names. Its limitations appear immediately with German:
- Soundex is case-sensitive in most implementations and does not normalise umlauts.
- Soundex truncates at four characters and prefixes the first letter, so “Müller” and “Mueller” produce different codes (M460 vs M460 in some variants, but only because the stem letter differs after umlaut normalisation — and many implementations do not normalise).
- Soundex conflates vowels with zeros but the German phoneme boundaries differ from English.
Kölner Phonetik was designed specifically around German phonological rules. The context-dependent coding of C, D, T, and X captures common German sound shifts that Soundex ignores entirely.
Practical applications
- Genealogy and civil registry search — German parish records, Standesamt entries, and emigration lists are notorious for variant spellings of the same name. Encoding both the query and the indexed name lets a search engine surface “Schreiber” when someone types “Sreubr” or vice versa.
- Customer data deduplication — matching records for “Schäfer” and “Schaefer” or “Vogt” and “Voght” without manual synonym tables.
- German-language search-as-you-type — phonetic fallback when an exact prefix match fails, especially for uncommon surnames.
Example and notes
The canonical examples all reproduce correctly: “Müller” and “Mueller” both give 657, “Wikipedia” gives 3412, and “Müller-Lüdenscheidt” gives 65752682. Because the code length varies, store it as a string and compare with equality. For English names prefer Metaphone; for New Zealand names prefer Caverphone. All processing runs locally in your browser.