What this tool does
NYSIIS — the New York State Identification and Intelligence System phonetic algorithm — was published by Robert Taft in 1970 to match names in criminal-justice databases. It is reported to be about 2.7% more accurate than Soundex for name matching because it transcodes whole letter groups and keeps more of a name’s structure. This encoder produces both the classic 6-character key and the full untruncated key in your browser.
Background: why criminal justice needed a better phonetic code
Law enforcement record matching has a long history of phonetic coding. Soundex, developed in the early 20th century, encodes surnames as a letter plus three digits (for example, Smith → S530). It was designed for census record linking and is deliberately simple. NYSIIS was developed specifically for law enforcement databases where name variants, foreign-origin names, and transcription errors were common. By working on letter-group transcoding rather than digit-mapped categories, NYSIIS better handles clusters like MAC/MC, PH, SCH, and KN that appear frequently in names of Irish, Germanic, Greek, and other origins.
How NYSIIS works step by step
NYSIIS runs in stages:
Step 1 — Leading cluster transcoding:
MAC → MCC
KN → N
K → C
PH → FF
PF → FF
SCH → SSS
Step 2 — Trailing cluster transcoding:
EE / IE → Y
DT / RT / RD / NT / ND → D
Step 3 — First letter becomes the key start. The first letter of the transformed name is taken as-is and becomes the first character of the output key.
Step 4 — Transcoding the body: The encoder steps through remaining characters applying these rules:
- All vowels (A, E, I, O, U) → A
- EV → AF
- Q → G
- Z → S
- M → N
- KN → N
- SCH → SSS
- PH → FF
- H preceded or followed by a vowel → preceding character (H is absorbed)
- W preceded by a vowel → preceding character (W is absorbed)
- Each transcoded character is appended only if it differs from the last character added, collapsing consecutive duplicates.
Step 5 — Final cleanup:
- Trailing S → removed
- Trailing AY → Y
- Trailing A → removed
Step 6 — Truncation: The classic key is the first 6 characters of the result. The full key is the entire string.
Worked examples
| Name | Full NYSIIS key | 6-char key |
|---|---|---|
| MacDonald | MCDANALD | MCDANA |
| McDonald | MCDANALD | MCDANA |
| Knight | NAGT | NAGT |
| Jackson | JACSAN | JACSAN |
| Watkins | WATCAN | WATCAN |
| Smith | SNAT | SNAT |
| Czernowitz | SARNAWATS | SARNAW |
Notice that MacDonald and McDonald produce identical keys — the algorithm successfully collapses a common spelling variant. Knight → NAGT drops the silent K and gh cluster.
When to use NYSIIS and when not to
NYSIIS is well-suited for:
- Record linkage and deduplication in databases where names may have been transcribed differently at different times.
- Name search where Soundex is too coarse. Soundex collapses too many distinct names; NYSIIS preserves more structure.
- Historical records with inconsistent spelling.
NYSIIS is less suited for:
- Non-English names from languages with phonological patterns very different from English (Chinese romanisation, Arabic, Slavic names with consonant clusters). Results will vary.
- Exact matching — if you have the true spelling, use it. NYSIIS is for fuzzy matching only.
- Given names: NYSIIS was designed for surnames. It works on given names too but the improvement over Soundex is less documented.
Like all phonetic codes, a shared NYSIIS key means two names are candidates for being the same — not a confirmed match. Always verify with additional fields (date of birth, address, known associates) before merging records. Everything is computed locally in your browser; no names are transmitted.