QR Claw

v1.2.0

Generate QR codes for any string or URL using the QRClaw open source service (qrclaw.goplausible.xyz). Use this skill whenever the user asks to create a QR c...

0· 194· 4 versions· 0 current· 0 all-time· Updated 8h ago· MIT-0
byMG@emg110

Install

openclaw skills install qrclaw

QRClaw — QR Code Generation for Agents

QRClaw is an edge service that generates QR codes from any string and returns both a shareable smart link (with rich social previews) and a UTF-8 text QR code that renders directly in terminals.

Security — NEVER Send Sensitive Data

This skill uses an external processing service hosted on Cloudflare Workers (qrclaw.goplausible.xyz). The input string you send is transmitted over HTTPS to this service, stored temporarily (24 hours), and exposed via a public smart link with social preview metadata.

You MUST NOT send any of the following as input to QRClaw:

  • Private keys, secret keys, seed phrases, or mnemonics
  • Passwords, tokens, API keys, or credentials of any kind
  • Session IDs, JWTs, or auth headers
  • Personal identifiable information (SSNs, bank accounts, etc.)
  • Any data the user has not explicitly asked to make into a QR code

Before generating a QR code, check that the input does not contain sensitive material. If the input looks like it could be a secret (e.g., starts with sk_, AKIA, contains password=, looks like a private key or mnemonic phrase), refuse the request and explain to the user that sensitive data should not be sent to an external QR code service.

QRClaw is designed for public or semi-public data: URLs, payment URIs, contact info, WiFi credentials the user intends to share, etc. The source code is open at github.com/GoPlausible/qrclaw.

When to Use This

  • User asks to generate a QR code for a URL, text, or any string
  • User wants a scannable representation of data
  • User needs to share a link with a rich preview (social media, messaging)
  • User wants a QR code they can paste into a terminal, chat, or document
  • An MCP tool or workflow produces a URI that should be made scannable

API for agents and CLI tools (JSON response)

Single endpoint — one GET request does everything.

https://qrclaw.goplausible.xyz/?q=<url-encoded-string>

You must always include the Accept: application/json header. Without it, the service returns a 302 redirect to the HTML page instead of JSON data. Agents cannot parse the redirect — they need the JSON response containing the qr and link fields.

Response:

{
  "link": "https://qrclaw.goplausible.xyz/q/abc123def456...",
  "qr": "██████████████...\n█ ▄▄▄▄▄ █...",
  "data": "YOUR STRING HERE",
  "expires_in": "24h"
}
FieldDescription
linkSmart link URL — shareable page with image QR, OG/Twitter meta tags, copy buttons
qrUTF-8 block-character QR code — paste directly into terminal or code block
dataThe original input string
expires_inTTL — always "24h"

For browsers (redirect)

Without the Accept: application/json header, the endpoint redirects (302) to the smart link page.

How to Display Results — Channel Awareness

After calling the API, adapt your response based on the output channel. The UTF-8 QR block is large and only renders well in monospace contexts — don't dump it into chat channels where it will look broken or spammy.

TUI / Web channels (terminal, web UI, canvas)

Show the full output — these environments render monospace block characters correctly:

  1. UTF-8 QR block — paste the qr field inside a code fence
  2. Data — the original string encoded in the QR code
  3. Smart link — the hosted QR page URL from link

Example response:

```
[paste UTF-8 QR here]
```

Data: `https://example.com`
Smart QR link: https://qrclaw.goplausible.xyz/q/abc123...
(expires in 24 hours)

Social channels (Telegram, Discord, WhatsApp, Signal, Slack, IRC, etc.)

Skip the UTF-8 QR block — it's too bulky for chat and won't render as a scannable image. Show only:

  1. Data — the original string (useful for wallet deep links, URLs, etc.)
  2. Smart link — the hosted page URL, which renders nicely in-app as a clickable preview with the QR code image via Open Graph metadata

Example response:

Data: https://example.com
QR code: https://qrclaw.goplausible.xyz/q/abc123...

How to detect the channel

  • If you're running in a terminal (CLI agent like Claude Code, OpenClaw, Open Code) → use TUI format
  • If you're rendering in a web UI or canvas → use TUI format
  • If you're posting to a messaging platform or the output will be forwarded to one → use social format
  • When in doubt, ask the user or default to TUI format (it includes everything)

Parse the JSON response to extract qr (UTF-8 QR code) and link (smart link URL), then display both to the user.

Important Details

  • Input: any string up to reasonable length (URLs, text, URIs like algorand://..., bitcoin:..., etc.)
  • Expiry: all QR codes and smart links expire after 24 hours
  • No auth required: the API is open, no API key needed
  • Rate limiting: limited to 5 QR codes per minute per IP. If you hit the limit, wait before retrying. Avoid generating QR codes in tight loops — batch your requests or add delays between calls
  • URL encoding: always URL-encode the q parameter — special characters, spaces, :// etc. must be encoded
  • The qr field uses inverted UTF-8 half-block characters (, , , ) which render best on dark backgrounds or in code blocks with monospace fonts

Smart Link Page Features

Each generated link (/q/<uuid>) serves a full HTML page with:

  • Toggle between image and UTF-8 QR views
  • Copy buttons for: image (to clipboard), UTF-8 text, original data, and page URL
  • Open Graph + Twitter Card meta tags for rich previews when shared
  • Mobile-friendly responsive design
  • GoPlausible branding and footer

Combining with Other Tools

QRClaw works well as the final step in workflows:

  • Generate an Algorand ARC-26 URI, then pass it to QRClaw for a scannable QR
  • Create a payment link, then make it scannable
  • Build any deep link or app URI scheme and make it shareable
  • Share WiFi credentials, calendar events, or vCards as QR codes

The pattern is always: produce a stringcall the QRClaw APIget back a scannable QR + shareable link.

Version tags

latestvk97bjz5agbfck8zbz23mjqcg3s83dnyg