# FreeQR > Every QR code tool, free forever. No signup, no API keys, no watermark, no > limits, no ads. Open source (MIT). Static codes are generated client-side; > the API and MCP server are keyless. Built for humans and AI agents equally. ## Start here (agents) - Generate: GET https://useqr.app/api/v1/qr?data=hello&size=512 → PNG (aliases work: text=, content=, url=; format=png|svg|svg-tiny|json|base64) - Typed: GET https://useqr.app/api/v1/wifi?ssid=CafeGuest&password=espresso (also vcard, upi, event, whatsapp, sms, email, geo, pix, epc, telegram, paypal, bitcoin, ethereum, and more) - Decode: POST image bytes to https://useqr.app/api/v1/decode (or ?url=) - Verify a design scans: GET https://useqr.app/api/v1/verify?data=hello&color=333333 - Batch: POST https://useqr.app/api/v1/qr/batch {"style":{"size":512},"output":"url","items":[{"data":"one","id":"a"},{"type":"wifi","fields":{"ssid":"CafeGuest"}}]} (≤1,000 with output=url, ≤100 rendered) - MCP server (Streamable HTTP, no auth): https://useqr.app/api/mcp Connect: claude mcp add --transport http freeqr https://useqr.app/api/mcp - Errors teach: every 4xx is problem+json with a "fix" field containing a corrected call. - Full surface: https://useqr.app/llms-full.txt · OpenAPI 3.1: https://useqr.app/api/openapi.json ## Pages (URL-as-state: every form field and style option is a query param — compose links directly) - https://useqr.app/url?data=… · /wifi?ssid=…&sec=WPA · /vcard?fn=…&ln=… · /upi?pa=…&pn=… — 28 tool pages, one per QR type - Style params on any tool page: style=rounded|dot|organic|… eye=rounded|circle|… fg=6366f1 bg=t(ransparent) ec=H qz=4 label=SCAN%20ME - https://useqr.app/scan (decode in browser) · /validate (scannability score) · /size-calculator · /bulk (CSV→ZIP) · /templates (58 ready-made designs, ?tpl= deep links) ## Documentation (182 pages, every one also served as plain markdown at {path}.md) - https://useqr.app/docs/basics — QR code basics - https://useqr.app/docs/spec — QR code specification and internals - https://useqr.app/docs/how-to — How to make, scan and use QR codes - https://useqr.app/docs/design — QR code design and customisation - https://useqr.app/docs/print — Printing QR codes - https://useqr.app/docs/scanning — Scanning and device compatibility - https://useqr.app/docs/troubleshooting — QR code troubleshooting - https://useqr.app/docs/security — QR code security and privacy - https://useqr.app/docs/payments — QR code payments - https://useqr.app/docs/ecommerce — QR codes for ecommerce and retail - https://useqr.app/docs/marketing — QR codes for social media and marketing - https://useqr.app/docs/developers — QR codes for developers and AI agents - https://useqr.app/docs/reference — QR code reference tables - https://useqr.app/glossary — 42 defined terms: Alignment pattern, BharatQR, BIP-21, Codeword, Contrast ratio, Data capacity, Decode-verify, Denso Wave, DPI (dots per inch), Dynamic QR code, ECI (Extended Channel Interpretation), EIP-681, EMVCo QR code, Encoding mode, EPC QR code, Error correction level, Finder pattern, Format information, GS1 Digital Link, Interleaving, ISO/IEC 18004, Kanji mode, Mask pattern, MeCard, Micro QR code, Module, Payload, Quiet zone, Quishing, Reed–Solomon coding, rMQR code, Scan rate, Short URL, Static QR code, SVG, Timing pattern, UTM parameter, vCard, Vector graphic, Version information, Version, ZXing - https://useqr.app/qr-codes-on — minimum size, contrast and error-correction level per physical surface - https://useqr.app/qr-codes-for — what each industry actually needs - https://useqr.app/vs — honest comparisons, including where other tools are the better answer - https://useqr.app/for/agents · /for/claude · /for/chatgpt · /for/cursor · /for/copilot · /for/n8n ### Per-type reference pages (payload format, scanner behaviour, failure modes) - https://useqr.app/app-download-qr-code — App download QR codes — one code for iOS and Android - https://useqr.app/base64-qr-code — Base64 QR codes — how they work - https://useqr.app/bitcoin-qr-code — Bitcoin QR codes — the BIP-21 URI explained - https://useqr.app/calendar-qr-code — Calendar event QR codes — how they work - https://useqr.app/coupon-qr-code — Coupon QR codes — how they work - https://useqr.app/email-qr-code — Email QR codes — how they work - https://useqr.app/epc-qr-code — EPC QR codes (GiroCode) — SEPA credit transfers explained - https://useqr.app/ethereum-qr-code — Ethereum QR codes — the EIP-681 URI explained - https://useqr.app/feedback-qr-code — Feedback QR codes — how they work - https://useqr.app/google-review-qr-code — Google review QR codes — how they work - https://useqr.app/json-qr-code — JSON QR codes — how they work - https://useqr.app/location-qr-code — Location QR codes — geo: URIs versus map links - https://useqr.app/mecard-qr-code — MeCard QR codes — how they work - https://useqr.app/menu-qr-code — Menu QR codes — how they work - https://useqr.app/paypal-qr-code — PayPal QR codes — how they work - https://useqr.app/pdf-qr-code — PDF QR codes — how they work - https://useqr.app/phone-qr-code — Phone QR codes — how they work - https://useqr.app/pix-qr-code — PIX QR codes — the EMV BR Code format explained - https://useqr.app/sms-qr-code — SMS QR codes — how they work - https://useqr.app/social-qr-code — Social hub QR codes — one code, all your profiles - https://useqr.app/ssh-qr-code — SSH and Git QR codes — how they work - https://useqr.app/telegram-qr-code — Telegram QR codes — how they work - https://useqr.app/text-qr-code — Text QR codes — how they work - https://useqr.app/upi-qr-code — UPI QR codes — the NPCI spec, field by field - https://useqr.app/url-qr-code — URL QR codes — how they work - https://useqr.app/vcard-qr-code — vCard QR codes — how they work - https://useqr.app/whatsapp-qr-code — WhatsApp QR codes — how they work - https://useqr.app/wifi-qr-code — WiFi QR codes — how they work ## Trust - Static generation is 100% client-side; the site works offline after first load. - No accounts, no tracking, no stored user data. MIT source: https://github.com/rajkaria/free-qr