npm ⇄ yarn ⇄ pnpm converter
Convert an npm, yarn, pnpm, bun or deno command to the equivalent command in another package manager.
npm ⇄ yarn ⇄ pnpm converter
Paste a package manager command and this tool rewrites it for npm, Yarn classic, Yarn berry, pnpm, Bun or Deno. Switching a project, following a README written for a different tool, or just typing muscle memory from the wrong manager — the command you have is not the one you need, and this converts it instantly instead of making you look up the equivalent flag by hand.
The source manager can be auto-detected from the command itself or set explicitly (useful if you want lines from other managers flagged rather than silently skipped). The target manager is one of npm, Yarn classic, Yarn berry, pnpm, Bun or Deno. Install, add and remove commands carry their flags across correctly — npm's --save-dev becomes Yarn's --dev, pnpm's --save-exact, or Bun's --dev, and a bare npm ci becomes an install with --frozen-lockfile, or --immutable for Yarn berry. Run-script commands and their trailing arguments after -- are preserved too. Turn on "preserve flags with no equivalent" to keep an unrecognized flag verbatim in the output rather than dropping it, and "warn about flags with no equivalent" to get a # comment line flagging exactly which flag or command has no direct match — Yarn berry's removal of global add is one such case.
By default only the first command in the input is converted; turn on batch mode to convert every line at once, which is useful for translating a whole install script. Lines that don't look like a package manager command are passed through unchanged in batch mode (with a warning if enabled), or produce an error in single-command mode. Windows and Unix line endings are both handled.
Everything runs locally in your browser — no command or package name is ever sent anywhere. Copy the result, download it as a .txt file, or send it back into the input to convert again for a third manager.