di>_
DigInterface
Free DNS, Email & Developer Tools
🧩 New! DigInterface Tools is now available as a browser extension — DNS, Headers, SSL, Blacklist, WHOIS, SPF & Propagation right from your toolbar.
← All posts
QR Code Tool: Unicode output, camera scanning, and clipboard that survives Outlook

QR Code Tool: Unicode output, camera scanning, and clipboard that survives Outlook

The QR Code Tool at /qr-code has been rebuilt end-to-end. What was a basic generate-and-decode page is now a three-surface tool — web, REST API, and MCP — with a few features you don’t usually see in QR generators.

What’s new

Unicode block-character QR codes

Alongside the PNG output, the generator can now render QR codes as Unicode block characters — half-block glyphs that reproduce the code purely as text. Useful for pasting into terminals, Slack code blocks, Discord messages, GitHub markdown, or any monospace context where a raster image doesn’t fit.

Camera scanning

The decode panel now has a “Scan with Camera” mode alongside the existing image upload. Point your phone or laptop camera at a QR code, get the decoded content instantly. Scanning happens entirely in your browser — the video stream never touches the server.

Copy for Word & Outlook (the tricky one)

This one took some doing. Pasting Unicode block-character art into Microsoft Word or Outlook has always been unreliable — Word’s HTML paste filter strips the CSS letter-spacing that makes the block characters into a square grid, and the pasted QR “melts” into something unscannable.

The tool now has a “Copy for Word / Outlook” button that solves this by putting a different payload on the clipboard: an HTML <table> where each QR module is a fixed-size, background-colored <td> cell. Word’s paste filter has an allowlist that dates back to Word 2007, and colored table cells sit right in the middle of that allowlist — they map onto Word’s native table object and survive paste intact as an editable, scannable grid.

The technique was documented by the SANS Internet Storm Center in a January 2026 analysis of an imageless-QR phishing campaign, and independently at DEF CON 32 in the QRucible project — same technique, benign use here.

The original “Copy as Text” button is still there for pasting into Slack, Discord, terminals, IDEs, and other monospace-respecting contexts.

REST API

Both generate and decode are now exposed at /api/v2/qr/* for programmatic use:

Both endpoints use the standard utils scope, same daily quota as the existing hash and CIDR endpoints.

MCP tools for AI assistants

The same two tools are exposed over MCP at https://www.diginterface.com/mcp as qr_generate and qr_decode. Claude and other MCP clients can now generate and decode QR codes on your behalf — ask Claude “generate a QR code for my wifi network” or “decode this QR image I just took” and it’ll call through to the tool. Auth, scopes, and quotas are shared with the REST surface.

Under the hood

All three surfaces (web page, REST, MCP) call into a single qr_helpers.py module — one source of truth for generation, decode, and validation, so behaviour cannot drift between them. Standard DigInterface pattern, same as spf_helpers.py, tech_partners.py, and the other extracted helper modules.

Try it

Head to /qr-code, generate a QR, and try all three copy paths — PNG download, Unicode as text, and the new Word/Outlook copy. If you’ve got an API key, the full REST docs and MCP setup are already live.