Skip to content

gc/confusables

Repository files navigation

npm MIT gzip size

Confusables

This library allows you to replace confusables in a string with their lookalike English character.

Try it out: https://confusables.netlify.com/

Purpose

When you need to filter/check English text and want any characters that look very similar to English characters, to be converted into those English characters. It does not support other languages - it's not possible to support other languages whilst remaining very practical/effective at normalizing for English.

The main purpose is for filtering profanity: users can easily bypass most filters by changing "fuck" to "fück", this stops that.

Installation

yarn add confusables

npm install confusables

Usage

Removing confusables

import remove from 'confusables'; 

remove('Ἢἕļľᦞ ш٥ṟlᑰ! Hello World!'); // => Hello World! Hello World!
remove('Iлtèrnåtïonɑlíƶatïǫԉ'); // => Internationalization

Injecting random confusables

import { obfuscate } from 'confusables'; // with ES modules

obfuscate('Hello World!'); // => Ḣé𝑙ŀ𝟶 Ꮤᴑ𝖗łᏧ
obfuscate('Internationalization'); // => ᶦṅᵗᧉ𝘳𝓃ȧťί𝙾ቢค𝞲ἱƶ𝜶ナἰøʼn

About

A nodejs library for removing confusable unicode characters from strings.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •