rsqr is a dead-simple, fast QR code generator written in Rust.
It generates terminal-friendly ASCII QR codes, and can optionally export them as high-resolution PNG images.
Designed to be tiny, testable, and do exactly one thing — very well.
- Generate terminal QR codes from any string
- Export to PNG with custom scale
- Toggle quiet zone padding (
--no-quiet) - Invert light/dark rendering (
--invert) - Use different character styles (
--charset) - Built-in test suite, QA script, and
make checkworkflow - Shell completions for bash/zsh/fish via
make completions
Clone the repo and build:
git clone https://github.com/somethingcorrosive/rsqr.git
cd rsqr
cargo build --release
Then copy the binary to your path:
cp target/release/rsqr /usr/local/bin/
rsqr "https://rust-lang.org"
rsqr "cool contrast" --invert
rsqr "tight fit" --no-quiet
rsqr "hello hash" --charset hash
rsqr "dot style" --charset dot
Some charsets may not scan well.
rsqrwill warn you if you're using a non-standard one.
rsqr "https://example.com" --png qr.png
rsqr "scaled out" --png big.png --scale 20
rsqr "full test" --invert --no-quiet --charset block --png final.png --scale 16
Run full quality checks (format + lint + tests):
make check
Run all unit + integration tests:
cargo test
Run full CLI QA script:
make qa
Run one step manually (make sure to cargo build first):
./qa.sh
make completions
Completions are generated on-demand by the gen-completions tool (not during normal cargo build).
Generated completions are saved to:
completions/
Show available targets:
make
make clean
MIT License
© 2026 RandomName
This project is intentionally scoped small.
Bug reports, tests, and useful flags are welcome. Pull requests encouraged!