punycode
npmv2.3.1A robust Punycode converter that fully complies to RFC 3492 and RFC 5891, and works on nearly all JavaScript platforms.
Adopt with care
punycode is usable, with caveats. Last published 1045 days ago.
- AAdoption: grade A, Excellent.
148.9M downloads per week and 2 known dependents.
- DMaintenance: grade D, Poor — a real concern.
Last published 1045 days ago.
- AWeight: grade A, Excellent.
Zero runtime dependencies, about 33 KB installed.
- ASupply chain: grade A, Excellent.
No install scripts, 2 maintainers, and a contained dependency surface.
- ALicense: grade A, Excellent.
MIT — permissive, with no copyleft found in the dependency tree.
Grades are computed deterministically from registry metadata collected by PackageGraph — downloads, dependents, publish dates, the resolved dependency tree, maintainer count, and declared licenses. No third-party scores are used.
Install cost
What you actually take on by adding punycode to a project.
Runtime packages this one declares itself.
Distinct packages in the full runtime tree, deduplicated the way a package manager would.
Unpacked size of this package plus its entire runtime tree.
Longest resolved dependency chain below this package.
Compatibility
- Node.js
- node >=6
- Module format
- ESM + CommonJS
- TypeScript
- No bundled types
- Install scripts
- None
Quick start
A usage example from the punycode README.
const punycode = require('punycode/');punycode vs the alternatives
Packages solving a similar problem in the npm ecosystem, compared on the signals that drive an adoption decision.
| Package | Weekly downloads | Dependents | License | Last release |
|---|---|---|---|---|
| punycodethis page | 148.9M | 2 | MIT | 2 years ago |
| tr46 | 192.6M | 1 | MIT | 1 day ago |
| @jridgewell/resolve-uri | 166.3M | 1 | MIT | 1 day ago |
| encodeurl | 133.6M | 5 | MIT | 1 day ago |
| open | 130.4M | 4 | MIT | 1 day ago |
| follow-redirects | 91.6M | 2 | MIT | 1 day ago |
Dependencies
Declared by punycode v2.3.1. Runtime dependencies are installed with the package; dev dependencies are not.
Dev (3)
Used by
Popular packages that depend on punycode.
Relationship graph
Dependencies (left) and dependents (right) of punycode.
Frequently installed together
An AST-based pattern checker for JavaScript.
Audited & minimal 0-dependency JS implementation of SHA, RIPEMD, BLAKE, HMAC, HKDF, PBKDF & Scrypt
An extremely fast JavaScript and CSS bundler and minifier.
Base64 encoding/decoding in pure JS
TypeScript definitions for node
Convert character encodings in pure javascript.
IEEE 754 half-precision floating-point for JavaScript
Release history
No releases in the last two years, typically about 100 days apart.
| Version | Published | Size | License |
|---|---|---|---|
| 2.3.1latest | 2 years ago | 33 KB | MIT |
| 2.3.0 | 3 years ago | 32 KB | MIT |
| 2.2.2 | 3 years ago | 32 KB | MIT |
| 2.2.0 | 3 years ago | 32 KB | MIT |
| 2.1.1 | 8 years ago | 32 KB | MIT |
| 2.1.0 | 9 years ago | — | MIT |
| 2.0.1 | 10 years ago | — | MIT |
| 2.0.0 | 10 years ago | — | MIT |
| 1.4.1 | 10 years ago | — | MIT |
| 1.4.0 | 10 years ago | — | MIT |
| 1.3.2 | 12 years ago | — | MIT |
| 1.3.1 | 12 years ago | — | MIT |
| 1.3.0 | 12 years ago | — | MIT |
| 1.2.4 | 12 years ago | — | MIT |
| 1.2.3 | 13 years ago | — | MIT |
Overview
punycode is an npm package that a robust Punycode converter that fully complies to RFC 3492 and RFC 5891, and works on nearly all JavaScript platforms. It is extremely widely used, with about 148.9M downloads per week and 2 known dependents in the graph. The latest version is 2.3.1, released under the MIT license.
Who should use it
Teams working in the npm ecosystem who need a robust Punycode converter that fully complies to RFC 3492 and RFC 5891, and works on nearly all JavaScript platforms and value a battle-tested, widely-adopted solution.
When not to use it
Consider an alternative if you need to have first-class TypeScript types out of the box, or if a more actively-maintained option better fits your npm stack.
Pros
- Large, well-established user base (148.9M weekly downloads).
- Clear open-source license (MIT).
- Lean dependency tree (3 direct dependencies).
Cons
- No bundled TypeScript types (may require a separate @types package).
Auto-generated from collected registry metadata. No external claims are inferred.
Maintainers
Frequently asked questions
Should I use punycode?
punycode is usable, with caveats. Last published 1045 days ago.
How do I install punycode?
Run `npm install punycode` to add punycode to your npm project.
What license is punycode released under?
punycode is distributed under the MIT license.
How popular is punycode?
punycode has approximately 148,934,141 downloads per week and 2 known dependent packages.
Is punycode still maintained?
The most recent release of punycode (v2.3.1) was published 2 years ago.
Does punycode run install scripts?
No. punycode does not define preinstall, install, or postinstall scripts, so installing it does not execute publisher-supplied code.