GenerateRandomSearch

Soundex Phonetic Code Generator

Soundex reduces a name to a letter and three digits so that spellings which sound alike land in the same bucket. It is nearly a century old, still used in record linkage, and the question worth asking of it is not whether it works but whether it works on your names. So paste them in. You get the code for each one, the groups it would treat as the same thing, and — the part that decides whether it is fit for your data — every pair it will never match because they differ in the one letter it does not encode.

What this generator does

Takes the names you paste in, computes each one's Soundex code, groups them by the code they share, and then works out which pairs agree on all three digits while differing in their first letter — the pairs Soundex is structurally unable to match. An example set of the classic similar spellings is one button away if you would rather see those.

How to use this tool

  1. Paste your names, one a line or separated by commas.
  2. Read the table: names sharing a code are grouped on one row, and would be treated as one thing.
  3. Read the list underneath: those pairs sound alike to everything except the first letter, which Soundex never encodes.
  4. Use the example set if you want the classic cases rather than your own.

Understanding the controls

Your names
One a line, or separated by commas. Up to sixty. The same name twice, however it is capitalised, is counted once — grouping a name with itself would say something false about the algorithm.
Fill with an example set
Replaces the box with a draw from the classic groups of similar spellings, for when you want to see the algorithm rather than test it on your data.

Common use cases

  • Finding out whether Soundex would group the names in your data the way you need
  • Seeing which of your records a phonetic match would merge before you run one
  • Checking a Soundex implementation against a list whose answers you can work out by hand
  • Teaching why the first letter makes Soundex weaker than it appears, on names a class chose
  • Deciding against Soundex on evidence rather than on reputation

How this generator works

The first letter is kept and the rest are mapped to digits by place of articulation — labials to 1, gutturals to 2, dentals to 3, and so on. Doubled sounds collapse to one digit. The rule most implementations get wrong is that H and W are transparent: they do not reset the previous digit, so two consonants separated by one still count as a repeat, while a vowel between them does reset it. That distinction is checked against the published worked examples in the tests.

Randomness and fairness

Nothing about the codes is random: each is a function of its own name and would come out the same anywhere. The only draw on this page is which example names the fill button puts in the box, and that uses your browser's secure generator.

For how randomness is produced across the whole site, see how Generate Random works.

Limitations and good to know

  • The first letter is never encoded, so names differing only in their initial sound can never match.
  • Tuned for English surnames; it performs poorly on names from other language families.
  • Not reversible — the code is a bucket, not an encoding, and different-sounding names do collide.
  • Names go no further than your browser, so there is no link that carries a list — sharing a result means sharing the names alongside it.
  • Only classic Soundex; Metaphone and Double Metaphone are more accurate and are not implemented here.

Privacy and your data

Every code is worked out in your browser and the names you paste never leave it: they are not transmitted, not stored, and not written into the address. What is measured is that a set was coded and how many names were in it — never the names themselves.