Type a command,
get a QR code.
qr-cli prints scannable codes right in your shell, local or over SSH. Pipe text in, write a PNG or SVG out, and never open a QR website again.
Free and open source · v1.1.5 · Node 20 or later · macOS, Linux, Windows
Made for the shell.
One argument in, one code out. Everything else is a flag, and every flag does one thing.
-
Terminal native
Unicode half-blocks render a crisp code in any shell, including over SSH. Add
-lfor a larger one. - PNG and SVG Name the output file and the format follows. Set the size and quiet zone for print.
-
Pipes and files
Reads stdin and heredocs, or a file with
-f. Drops into scripts, CI jobs and cron. -
Light terminals
-iinverts the modules so the code still scans on a white background.
qr "https://qr-cli.dev"
Try it here first.
The same encoding the CLI runs, in your browser. Nothing you type leaves this page.
Ready · error correction M
$ qr "https://qr-cli.dev"
stdout
Small commands.
Pass text, get a code. These cover most of what people reach for.
-
Print a code
$ qr "https://example.com" -
Light terminal
$ qr "Hello World" -i -
Larger modules
$ qr "Hello World" -l -
Save a PNG
$ qr "https://example.com" -o qrcode.png -
From a pipe
$ echo "secret message" | qr
No browser, no tracking.
- Works offlineCodes are encoded on your machine. There's no network call, account or rate limit.
- Nothing to leakWhat you encode stays in your shell history, not on someone else's QR website with ads.
- Two dependenciescommander and qrcode, both MIT. A code renders in well under a second.
Get qr-cli.
Install it with Homebrew or npm, or run it once with npx. Every release also ships standalone binaries.
brew install asharahmed/tap/qr-cli
npx github:asharahmed/qr-cli "https://example.com"
npm i -g github:asharahmed/qr-cli