Lawrence Philips' Metaphone Algorithm

Lawrence Philips' Metaphone family of algorithms return a rough approximation of how an English word sounds, which should be the same for words or names that sound similar, and can be used as a lookup key. Metaphone algorithms are widely used in Spell Checkers, Search Interfaces, De-Duping programs, and Geneology Sites.

The author can be contacted at lawrence_philips at amorphics com for support for Metaphone algorithms.

A mailing list has been set up for the general discussion of the Metaphone algorithm. An archive for the mailing list can be found here


October 12, 2009
A new new generation of the Metaphone algorithm, called Metaphone 3 is now available at Anthropomorphic Software, billed to be considerably more accurate and flexible than Double Metaphone. However, unlike the previous two generations, it is not free software.

May 22, 2001
A PHP Implementation of the Double Metaphone Algorithm is now available.

August 8, 2000
A C and Perl Implementation of the Double Metaphone Algorithm is now available.

May 28, 2000
Added links to several other implementations of the original Metaphone algorithm.

May 27, 2000
There was a slight error in dmetaph-diff.txt (the list of exactly what words Aspell with the new Double Metaphone got and the original Aspell did not and vice versa) as the "Bad Spellers Mode" list was the same as the "Fast Mode." This is now fixed.


The original Metaphone algorithm appeared in the December 1990 issue of Computer Language.


The double Metaphone algorithm is the new improved Metaphone algorithm.

The Metaphone Algorithm and Aspell

Even though, this site is hosted off of Aspell's site, it is not meant to be Aspell specific except for this section. Aspell is an Open Source Spell checker that does a superior job of coming up with suggestions. The magic behind my spell checker comes from merging Lawrence Philips excellent Metaphone algorithm and Ispell's near miss strategy which is inserting a space or hyphen, interchanging two adjacent letters, changing one letter, deleting a letter, or adding a letter. The current version of Aspell uses a modified version of the Metaphone algorithm in a tablized form.

To see if the Double Metaphone algorithm will lead to an improvement in suggestion strategy I substituted in it in place of the existing table-ized code and was able to archive a 1% better score based on some test data. However, for some words the new Metaphone algorithm lead to worse results. I plan on merging the new Double Metaphone algorithm into the exiting table, but will make sure that it always leads to better results by perhaps not adding some rules or adding a slight variation of the Double Metaphone rule.

kevina at users sourceforge net
This site is not officially affiliated with Lawrence Philips in any way.