Skip to content

ML Models & Algorithms

Phonetic matching

In shortFuzzy matching that compares how words sound, using codes like Soundex or Metaphone, so differently spelled names that sound alike match.

Updated 24 Oct 2026· 2 min read

Phonetic matching is a type of fuzzy matching that compares strings by how they sound instead of how they are spelled. Each word is converted into a short code that represents its pronunciation, and words with the same or similar codes are treated as matches. It catches homophones and spelling variants, such as “Smith” and “Smyth”, that exact or edit-distance methods can miss.

How it works

A phonetic algorithm applies rules to a word: it keeps the first letter or sound, drops most vowels, merges letters that sound alike (for example, c, k and q) and collapses repeats. The output is a code, and matching compares codes.

  • Soundex (patented in 1918) produces a letter plus three digits and was built for indexing surnames in records such as censuses.
  • Metaphone (1990) uses more detailed English pronunciation rules; Double Metaphone returns a primary and an alternative code and handles names of non-English origin better.
  • NYSIIS and Caverphone are alternatives tuned for particular name datasets.
  • Language-specific schemes exist too, such as Kölner Phonetik for German and Beider-Morse for names across several languages.

In Python, the jellyfish library provides Soundex, Metaphone and NYSIIS; Elasticsearch has a phonetic analysis plugin.

How it’s used in SEO and marketing

  • Grouping misspelled brand and product queries in Search Console data.
  • Matching person or business names across CRM records, directories and citations, including local listings.
  • Finding misspelled brand mentions for reputation monitoring and link reclamation.
  • Combining with Levenshtein to catch words that are both misspelled and phonetically similar, a hybrid MLforSEO recommends.

Example

You are de-duplicating a list of customer reviewers or author names that includes “Catherine”, “Kathryn” and “Katharine”. Metaphone gives all three the same code (K0RN), so they are flagged as a likely match. Soundex keeps the first letter as written, so it codes “Catherine” as C365 and the other two as K365 and misses the link. “Smith” and “Smyth” get the same code under both (SM0 and S530). Small differences like these are why MLforSEO suggests testing more than one algorithm on your own data.

Limitations and things to watch

  • Low precision: unrelated words can share a code, so expect false positives and review matches.
  • Most classic algorithms follow English pronunciation; use a language-specific scheme for other languages.
  • It ignores meaning entirely and works best on names and short terms, not sentences.
  • MLforSEO’s guide notes it can also miss close matches, so pair it with another method when recall matters.

Learn it on MLforSEO

Where Phonetic matching shows up on MLforSEO

Sources and further reading

Other terms from ML Models & Algorithms

See all 55 ML Models & Algorithms terms →