qr-decoder
SKILL.md
QR Decoder Skill
Decode and extract data from QR codes in image files.
When to Use
✅ USE this skill when:
- "Read this QR code"
- "Decode QR from image"
- "Extract URL from QR code"
- "Scan QR code image"
- "What's in this QR code?"
When NOT to Use
❌ DON'T use this skill when:
- Creating QR codes → use qr-generator
- Interactive camera scanning → use browser-tools
- Need real-time decoding → use native tools
Commands
Decode from File
{baseDir}/decode.sh <image_file>
{baseDir}/decode.sh qrcode.png
{baseDir}/decode.sh photo.jpg
Decode Multiple Files
{baseDir}/decode.sh *.png
{baseDir}/decode.sh --dir ./images --pattern "*.jpg"
Output Formats
{baseDir}/decode.sh qrcode.png --format text
{baseDir}/decode.sh qrcode.png --format json
{baseDir}/decode.sh qrcode.png --format raw
{baseDir}/decode.sh qrcode.png --format qr-type
Batch Processing
{baseDir}/decode.sh --batch images.txt
{baseDir}/decode.sh --dir ./qrcodes --output results.json
From URL
{baseDir}/decode.sh --url "https://example.com/qrcode.png"
{baseDir}/decode.sh --url "https://example.com/qrcode.png" --save temp.png
From Webcam (if supported)
{baseDir}/decode.sh --camera
{baseDir}/decode.sh --camera --device /dev/video0
Options
| Option | Description | Default |
|---|---|---|
--format FORMAT |
Output format: text, json, raw, qr-type | text |
--dir DIR |
Process all images in directory | None |
--pattern GLOB |
File pattern for --dir | *.{png,jpg,jpeg,gif} |
--batch FILE |
Read image paths from file | None |
--url URL |
Decode from URL | None |
--save FILE |
Save downloaded image | None |
--camera |
Use camera for live decode | false |
--device DEVICE |
Camera device path | /dev/video0 |
--output FILE |
Output to file | stdout |
--multi |
Return all QR codes found | first only |
--quiet |
Suppress errors | false |
QR Code Types
The skill can decode:
| Type | Description | Example |
|---|---|---|
| URL | Website links | https://example.com |
| TEXT | Plain text | Any text content |
| WIFI | WiFi credentials | WIFI:S:MyNetwork;T:WPA;P:password;; |
| VEVENT | Calendar event | iCalendar format |
| VCARD | Contact card | vCard format |
| Email address | mailto:user@example.com |
|
| TEL | Phone number | tel:+1234567890 |
| SMS | SMS message | sms:+1234567890?body=Hello |
| GEO | Geographic location | geo:40.7128,-74.0060 |
Output Format (JSON)
{
"file": "qrcode.png",
"type": "URL",
"data": "https://example.com",
"parsed": {
"url": "https://example.com",
"domain": "example.com",
"scheme": "https"
},
"position": {
"x": 100,
"y": 100,
"width": 200,
"height": 200
}
}
Examples
Decode a QR code:
{baseDir}/decode.sh qrcode.png
# https://example.com
Get QR type:
{baseDir}/decode.sh qrcode.png --format qr-type
# URL
Decode WiFi credentials:
{baseDir}/decode.sh wifi.png
# WIFI:S:MyNetwork;T:WPA;P:password123;;
Parse as JSON:
{baseDir}/decode.sh qrcode.png --format json | jq '.data'
Decode from URL:
{baseDir}/decode.sh --url "https://example.com/qr.png"
Batch decode directory:
{baseDir}/decode.sh --dir ./qrcodes --format json --output results.json
Find all QR codes in image:
{baseDir}/decode.sh photo.jpg --multi
Parsed Output
For recognized formats (WiFi, vCard, URL, etc.), the skill provides parsed output:
WiFi QR:
Type: WIFI
SSID: MyNetwork
Security: WPA
Password: password123
Hidden: No
vCard QR:
Type: VCARD
Name: John Doe
Phone: +1234567890
Email: john@example.com
Organization: Example Corp
Exit Codes
- 0: Successfully decoded
- 1: No QR code found
- 2: Invalid image file
- 3: Dependency missing (zbar not installed)
- 4: Network error (for --url)
Dependencies
- zbarimg (recommended): Primary decoder, handles most formats
- libdecodeqr: Alternative decoder
- fswebcam: For camera capture
Install on Debian/Ubuntu:
sudo apt install zbar-tools
Weekly Installs
3
Repository
winsorllc/upgra…carnivalFirst Seen
14 days ago
Security Audits
Installed on
opencode3
gemini-cli3
claude-code3
github-copilot3
codex3
kimi-cli3