unhomoglyph

Replace all homoglyphs with base characters.

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
unhomoglyph
3601.0.64 years ago7 years agoMinified + gzip package size for unhomoglyph in KB

Readme

unhomoglyph
Build Status NPM version
Replace all homoglyphs with base characters. Useful to detect similar strings.
For example, to prohibit register similar looking nicknames at websites.
Data source - Recommended confusable mapping for IDN, v13.0.0.
Note! Text after transform is NOT intended be read by humans. For example, m will be transformed to r + n. Goal is to compare 2 strings after transform, to check if sources looks similar or not. If sources look similar, then transformed strings are equal.

Install

npm install unhomoglyph --save

Example

const unhomoglyph = require('unhomoglyph');

console.log(unhomoglyph('AΑАᎪᗅᴀꓮ')); // => AAAAAAA
console.log(unhomoglyph('m'));        // => rn (r + n)

//
// Compare nicknames
//

const username1 = 'm';
const username2 = 'rn';

if (unhomoglyph(username1) === unhomoglyph(username2)) {
  console.log(`"${username1}" and "${username2} look similar`);
}

Update

npm run update

License

MIT