Generate QR Code Natively
Create QR codes fully offline on the local machine (no third-party QR API calls).
When to use
- •User asks to generate a QR code from text, URL, wallet address, or payload
- •Privacy-sensitive workflows where data should stay local
- •Fast automation pipelines that should not depend on external services
Required tools / APIs
- •No external API required
- •Bash CLI option:
qrencode - •Node.js option:
qrcodepackage
Install options:
bash
# Ubuntu/Debian sudo apt-get update && sudo apt-get install -y qrencode # Node.js npm install qrcode
Skills
generate_qr_with_bash
Generate PNG and terminal QR directly from shell.
bash
# Encode text into PNG DATA="https://example.com/report?id=123" qrencode -o qrcode.png -s 8 -m 2 "$DATA" # Print QR in terminal (UTF-8 block mode) qrencode -t UTF8 "$DATA" # SVG output qrencode -t SVG -o qrcode.svg "$DATA"
generate_qr_with_nodejs
javascript
import QRCode from 'qrcode';
const data = process.argv[2] || 'https://example.com';
async function main() {
await QRCode.toFile('qrcode.png', data, {
errorCorrectionLevel: 'M',
margin: 2,
width: 512
});
const svg = await QRCode.toString(data, { type: 'svg', margin: 2 });
await import('node:fs/promises').then(fs => fs.writeFile('qrcode.svg', svg));
const terminal = await QRCode.toString(data, { type: 'terminal' });
console.log(terminal);
console.log('Saved: qrcode.png, qrcode.svg');
}
main().catch(err => {
console.error('QR generation failed:', err.message);
process.exit(1);
});
Run:
bash
node generate-qr.js "https://example.com/invoice/abc"
Agent prompt
text
You are generating QR codes locally without calling external QR APIs. Use Bash (qrencode) for quick CLI generation or Node.js (qrcode package) for programmatic control. Return: 1) command/code used, 2) output filenames (png/svg), 3) brief validation note (e.g., "scan test recommended"). If dependency is missing, provide the install command and retry.
Best practices
- •Keep payload concise for better scan reliability
- •Use at least error correction level
Mfor general use - •Export PNG for compatibility and SVG for scalable print/web usage
- •Validate with a scanner after generation
Troubleshooting
- •
qrencode: command not found→ installqrencodevia package manager - •Node import error → ensure
npm install qrcodecompleted - •Dense/unclear QR image → increase image size/box size and reduce payload length
See also
- •pdf-manipulation.md — combine generated QR images into documents