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 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
First Seen
14 days ago
Installed on
opencode3
gemini-cli3
claude-code3
github-copilot3
codex3
kimi-cli3