Copied to clipboard
Try it Compare Capabilities Usage Install GitHub ↗

001 Overview UTC ··:··:··

Open source · MIT · Node ≥ 20

Generate QR codes in your terminal ci pipeline shell script container

A fast, minimal CLI. Unicode codes in any shell, PNG export with one flag, stdin piping. Offline, no tracking.

$ npx github:asharahmed/qr-cli "https://example.com"
zsh · qr-cli

$ qr "https://github.com/asharahmed/qr-cli"


              

$

Fig. 01 · Real output · scan it with your phone

002 Live encoder

Try it live

The same encoding the CLI runs, in your browser. Nothing leaves this page.

Ready · error correction M

$ qr "https://qr-cli.dev"
stdout

              
              
Fig. 02 · Live encoder output · every code is real and scannable

003 Comparison

Skip the browser

Web generators want a tab, a network connection, and your data. qr-cli wants an argument.

Capability QR·CLI Web tools
Works offline Yes No
No browser needed Yes No
Scriptable · automatable Yes No
Pipes from stdin Yes No
No ads or tracking Yes No
Open source Yes No

004 Capabilities

Everything you need, nothing you don’t

  1. No. 01

    Terminal native

    Crisp Unicode half-block rendering in any shell, local or over SSH.

    STDOUT
  2. No. 02

    PNG export

    One flag writes a print-ready PNG at any cell size.

    -o · PNG
  3. No. 03

    Theme aware

    Inverts modules for light terminals, so the code stays scannable.

    -i · INVERT
  4. No. 04

    Stdin piping

    Reads from pipes and heredocs; drops into any script or cron job.

    STDIN
  5. No. 05

    Fast

    Two dependencies. Codes render in well under a second, even for long URLs.

    2 DEPS
  6. No. 06

    Display modes

    Compact half-blocks by default; a large mode doubles up for easier scanning.

    -l · LARGE

005 Usage

Small commands, honest output

Pass text, get a code. Everything else is a flag.

<1s Generation
2 Dependencies
MIT License
Basic
$ qr "https://example.com"
Light terminal
$ qr "Hello World" -i
Large display
$ qr "Hello World" -l
Save as PNG
$ qr "https://example.com" -o qrcode.png
Piped input
$ echo "secret message" | qr

006 Install

Install nothing

npx runs it straight from GitHub. Prefer a real binary? Every release ships one for each target.

$ npx github:asharahmed/qr-cli "https://example.com"

Or keep it around: npm i -g github:asharahmed/qr-cli