QR Code Generator
Generate typed QR codes for links, Wi-Fi, Pix, contacts and more — all in your browser.
Preview
Fill in the fields to generate the QR code.
A QR code is just text
Underneath every QR code there's a single thing: a piece of text. Your phone's camera decodes the grid of squares and recovers that exact text — what makes a phone open the Wi-Fi screen, recognize a contact, or identify a Pix payment isn't magic in the QR code itself, it's the FORMAT of that text. That's why this tool doesn't have one text field that "becomes" a QR code — it has a type selector, and each type builds, underneath, the exact text readers know how to recognize.
How each reader recognizes the type
A Link is just the URL itself — the reader recognizes "http://" and offers to open it in the browser. Wi-Fi uses the format `WIFI:T:...;S:...;P:...;;`, natively recognized by iOS and Android cameras for years now. A contact uses the vCard format (the same one used to export a contact from any address book). E-mail, phone, SMS, and WhatsApp use small link protocols (`mailto:`, `tel:`, `sms:`, `https://wa.me/...`) that the system already knows how to open in the right app. Location uses the `geo:` format, recognized by map apps.
Static Pix — the "copy and paste" code behind the QR
Static Pix (the "BR Code") follows a public standard from Brazil's Central Bank: a sequence of fields with an identifier, length, and value, ending with a checksum (CRC16) that guarantees no character was corrupted along the way. All of this is assembled entirely in your browser — your Pix key and the amount you enter are never sent to any server, including Nexinon's. This V1 only generates STATIC Pix (a fixed or open amount, with no due date) — dynamic Pix (a charge with a due date, issued by a bank/payment processor) requires integration with a financial institution and is out of scope for a browser-only tool.
Why there's always an icon in the middle of the QR code
QR codes have built-in error correction — even with up to 30% of the pattern unreadable (level "H", the highest), the original content can still be reconstructed. This tool uses exactly that spare capacity to draw a small icon in the center, visually identifying the chosen type (Wi-Fi, Pix, contact...) — the icons are generic, drawn by Nexinon, never the official logo of any brand (Pix and WhatsApp both have their own visual identity guidelines, which this tool doesn't use). That's why the error correction level is always set to the highest ("H") in this tool — it isn't a separate option, it's what guarantees the icon never hurts readability.
Frequently asked questions
No. A static QR code has no expiration date — the content is encoded inside it, not on a server that could go offline. It stops working only if the destination changes (e.g., a URL that no longer exists) or if the image itself gets damaged beyond what error correction can reconstruct.
No. The entire payload is assembled in your browser — nothing you type into this tool is sent to Nexinon or to any other server.
The Pix logo is a trademark of Brazil's Central Bank with its own visual identity manual (regulated size, color, and proportions). To avoid depending on those rules, the icon used is generic (a bolt, a common symbol for "instant") — the same criterion applied to WhatsApp, which is also a registered trademark.
Not in this tool. That's "dynamic" Pix, which requires direct integration with a financial institution (the QR is generated by the bank, not from a standalone piece of text) — out of scope for a 100% local tool. This tool generates static Pix: a fixed or open amount, with no due date.
Not in this version — it only generates them. Reading an existing QR code is a future enhancement already tracked on Nexinon's roadmap.
The Pix code is generated with no fixed amount — whoever scans it types the amount right in their banking app. That's a valid and common "open amount" static Pix (e.g., donations, variable charges).