Punycode.js
Punycode.js is a robust Punycode converter that fully complies to RFC 3492 and RFC 5891.
This JavaScript library is the result of comparing, optimizing and documenting different open-source implementations of the Punycode algorithm:
This project was bundled with Node.js from v0.6.2+ until v7 (soft-deprecated).
The current version supports recent versions of Node.js only. It provides a CommonJS module and an ES6 module. For the old version that offers the same functionality with broader support, including Rhino, Ringo, Narwhal, and web browsers, see v1.4.1.
Installation
Via npm:
npm install punycode --saveIn Node.js:
const punycode = require('punycode');API
punycode.decode(string)
punycode.decode(string)Converts a Punycode string of ASCII symbols to a string of Unicode symbols.
punycode.encode(string)
punycode.encode(string)Converts a string of Unicode symbols to a Punycode string of ASCII symbols.
punycode.toUnicode(input)
punycode.toUnicode(input)Converts a Punycode string representing a domain name or an email address to Unicode. Only the Punycoded parts of the input will be converted, i.e. it doesn’t matter if you call it on a string that has already been converted to Unicode.
punycode.toASCII(input)
punycode.toASCII(input)Converts a lowercased Unicode string representing a domain name or an email address to Punycode. Only the non-ASCII parts of the input will be converted, i.e. it doesn’t matter if you call it with a domain that’s already in ASCII.
punycode.ucs2
punycode.ucs2punycode.ucs2.decode(string)
punycode.ucs2.decode(string)Creates an array containing the numeric code point values of each Unicode symbol in the string. While JavaScript uses UCS-2 internally, this function will convert a pair of surrogate halves (each of which UCS-2 exposes as separate characters) into a single code point, matching UTF-16.
punycode.ucs2.encode(codePoints)
punycode.ucs2.encode(codePoints)Creates a string based on an array of numeric code point values.
punycode.version
punycode.versionA string representing the current Punycode.js version number.
Author
License
Punycode.js is available under the MIT license.
Last updated
Was this helpful?