This page has forms you can use to submit a word to a Java servlet and get back a list of words that might have a similar pronunciation. This list might be useful if you are looking for alternate spellings. I originally made use of this algorithm in an application to help people transcribing legal documents find consistent spellings for the names of people mentioned in the documents.
The original metaphone algorithm was published by Lawrence Philips in an article entitled "Hanging on the Metaphone" in the journal Computer Language v7 n12, December 1990, pp39-43. His algorithm - translated into Java, and with minor tweaks - is what we are using here. Naturally, a phonetic encoding system has to assume a particular language and culture. Here we are using essentially American English.
The Apache Software Foundation "Commons" project has implemented metaphone and also an improved version called "double metaphone." You can download the Codec toolkit from this site.
The word lists come from the "Moby Words" project - any search engine will locate more information on this project. Although the people and place names lists contain many thousands of names, there are some surprising omissions.
-----Select a domain and enter a word to look for, then press return.