https://github.com/sindresorhus/transliterate
Convert Unicode characters to Latin characters using transliteration
https://github.com/sindresorhus/transliterate
deburr latinization node-module npm-package string-conversion transliteration unicode unicode-converter
Last synced: 7 days ago
JSON representation
Convert Unicode characters to Latin characters using transliteration
- Host: GitHub
- URL: https://github.com/sindresorhus/transliterate
- Owner: sindresorhus
- License: mit
- Created: 2020-02-17T12:17:38.000Z (about 5 years ago)
- Default Branch: main
- Last Pushed: 2022-12-09T12:26:13.000Z (over 2 years ago)
- Last Synced: 2025-04-01T12:04:38.307Z (14 days ago)
- Topics: deburr, latinization, node-module, npm-package, string-conversion, transliteration, unicode, unicode-converter
- Language: JavaScript
- Homepage:
- Size: 27.3 KB
- Stars: 296
- Watchers: 6
- Forks: 21
- Open Issues: 12
-
Metadata Files:
- Readme: readme.md
- Funding: .github/funding.yml
- License: license
- Security: .github/security.md
Awesome Lists containing this project
- awesome-list - transliterate
- awesome-node-esm - transliterate - convert Unicode characters to Latin characters using transliteration (Packages / Other)
README
# transliterate
> Convert Unicode characters to Latin characters using [transliteration](https://en.wikipedia.org/wiki/Transliteration)
Can be useful for [slugification](https://github.com/sindresorhus/slugify) purposes and other times you cannot use Unicode.
## Install
```
$ npm install @sindresorhus/transliterate
```## Usage
```js
import transliterate from '@sindresorhus/transliterate';transliterate('Fußgängerübergänge');
//=> 'Fussgaengeruebergaenge'transliterate('Я люблю единорогов');
//=> 'Ya lyublyu edinorogov'transliterate('أنا أحب حيدات');
//=> 'ana ahb hydat'transliterate('tôi yêu những chú kỳ lân');
//=> 'toi yeu nhung chu ky lan'
```## API
### transliterate(string, options?)
#### string
Type: `string`
String to transliterate.
#### options
Type: `object`
##### customReplacements
Type: `Array`\
Default: `[]`Add your own custom replacements.
The replacements are run on the original string before any other transformations.
This only overrides a default replacement if you set an item with the same key.
```js
import transliterate from '@sindresorhus/transliterate';transliterate('Я люблю единорогов', {
customReplacements: [
['единорогов', '🦄']
]
})
//=> 'Ya lyublyu 🦄'
```## Supported languages
Most major languages are supported.
This includes special handling for:
- Arabic
- Armenian
- Czech
- Danish
- Dhivehi
- Georgian
- German (umlauts)
- Greek
- Hungarian
- Latin
- Latvian
- Lithuanian
- Macedonian
- Pashto
- Persian
- Polish
- Romanian
- Russian
- Serbian
- Slovak
- Swedish
- Turkish
- Ukrainian
- Urdu
- VietnameseHowever, Chinese is [currently not supported](https://github.com/sindresorhus/transliterate/issues/1).
## Related
- [slugify](https://github.com/sindresorhus/slugify) - Slugify a string