Socket
Book a DemoInstallSign in
Socket

nysiis

Package Overview
Dependencies
Maintainers
1
Versions
14
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

nysiis

NYSIIS phonetic encoding algorithm.

2.0.3
latest
npmnpm
Version published
Weekly downloads
19
375%
Maintainers
1
Weekly downloads
 
Created
Source

nysiis

The nysiis package provides a JavaScript implementation of the New York State Identification and Intelligence System (NYSIIS) phonetic encoding algorithm. NYSIIS encodes names based on pronunciation, which is helpful in name-matching and searching applications.

Install

npm i nysiis

# or

yarn add nysiis

How to Use

import Nysiis from 'nysiis';

// Create an instance with specific language rules
const nysiis = new Nysiis({
  languageRules: ["english", "igbo", "yoruba", "hindi", "urdu"],
  maxLength: 6,
  strict: true,
});

// Function to demonstrate encoding
function demonstrateEncoding(name: string, description: string = "") {
  try {
    const encoded = nysiis.encode(name);
    console.log(
      `${
        description ? `[${description}] ` : ""
      }Original: "${name}" → Encoded: "${encoded}"`
    );
  } catch (err: unknown) {
    if (err instanceof Error) {
      console.error(`Error encoding "${name}":`, err.message);
    } else {
      console.error(`Error encoding "${name}":`, String(err));
    }
  }
}

// English names
console.log("\n=== English Names ===");
demonstrateEncoding("Watkins", "English");
demonstrateEncoding("Robert Johnson", "English");
demonstrateEncoding("Samantha Williams", "English");

// Yoruba names
console.log("\n=== Yoruba Names ===");
demonstrateEncoding("Olanrewaju", "Yoruba");
demonstrateEncoding("Adebayo", "Yoruba");
demonstrateEncoding("Oluwaseun", "Yoruba");

// Igbo names
console.log("\n=== Igbo Names ===");
demonstrateEncoding("Obinwanne", "Igbo");
demonstrateEncoding("Kpakpando", "Igbo");
demonstrateEncoding("Nwachukwu", "Igbo");

// Hindi names
console.log("\n=== Hindi Names ===");
demonstrateEncoding("Bharat", "Hindi");
demonstrateEncoding("Dhawan", "Hindi");
demonstrateEncoding("Thakur", "Hindi");

// Urdu names
console.log("\n=== Urdu Names ===");
demonstrateEncoding("Sheikh", "Urdu");
demonstrateEncoding("Khan", "Urdu");
demonstrateEncoding("Chaudhry", "Urdu");

// Available languages
console.log("\n=== Available Languages ===");
console.log("Supported languages:", nysiis.getAvailableLanguages());

Reference

@inproceedings{Rajkovic2007,
  author    = {Petar Rajkovic and Dragan Jankovic},
  title     = {Adaptation and Application of Daitch-Mokotoff Soundex Algorithm on Serbian Names},
  booktitle = {XVII Conference on Applied Mathematics},
  editors   = {D. Herceg and H. Zarin},
  pages     = {193--204},
  year      = {2007},
  publisher = {Department of Mathematics and Informatics, Novi Sad},
  url       = {https://jmp.sh/hukNujCG}
}

Additional References

License

This project is licensed under the MIT License.

(c) 2024 - 2025 Finbarrs Oketunji.

Keywords

nysiis

FAQs

Package last updated on 15 Jun 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.