Definition: An algorithm to code surnames phonetically by reducing them to the first letter and up to three digits, where each digit is one of six consonant sounds. This reduces matching problems from different spellings.

Generalization (I am a kind of ...)
phonetic coding algorithm.

See also double metaphone, Jaro-Winkler, Caverphone, NYSIIS, Levenshtein distance.

Note: The algorithm was devised to code names recorded in US census records. The standard algorithm works best on European names. Variants have been devised for names from other cultures.

Author: PEB


(C). Apache codec implementations of soundex, Metaphone, and Double Metaphone (Java). (Visual Basic). (Rexx). (Cobol).

More information

Overview of Soundex.

Go to the Dictionary of Algorithms and Data Structures home page.

If you have suggestions, corrections, or comments, please get in touch with Paul Black.

Entry modified 13 December 2010.
HTML page formatted Mon Feb 2 13:10:40 2015.

Cite this as:
Paul E. Black, "soundex", in Dictionary of Algorithms and Data Structures [online], Vreda Pieterse and Paul E. Black, eds. 13 December 2010. (accessed TODAY) Available from: