Pix QR Code Generator

Turn a Pix key into a QR code and a copy-and-paste code, right in your browser.

How to use

  1. Paste the Pix key of whoever is receiving the money and type the receiver name — pick the key type to be explicit.
  2. Add an amount to charge a fixed value, or leave it empty so the payer types how much to send.
  3. Click "Generate" to get the QR code and the copy-and-paste code, then check the details listed under it before sharing.

About this tool

A Pix QR code is not an image with a secret inside: it is a short line of text, called BR Code, drawn as a QR. That text follows the EMV® QR Code standard adopted by the Banco Central do Brasil, and it is the same string banking apps call "Pix copia e cola" — scanning and pasting send the bank identical information, which is why this tool always gives you both, side by side.

The BR Code is a sequence of fields written as ID (2 digits) + length (2 digits) + value. Field 00 marks the format, field 26 carries the Pix data — the identifier BR.GOV.BCB.PIX plus your key — 53 the currency (986, the Brazilian real), 54 the amount when there is one, 58 the country, 59 the receiver name, 60 the city and 62 an optional identifier. The last field, 63, is a CRC16 checksum over the whole payload: change one character anywhere and the code stops being valid, which is what keeps a corrupted paste from becoming a wrong payment. Names and cities are cut to the 25 and 15 characters the standard allows, and accents are removed because the payload is ASCII.

What comes out is a static QR code: it never expires, it can be paid many times, and it fits a stall sign or an invoice. Two honest limits. The tool checks the format of the key — the check digits of a CPF or CNPJ, the shape of an email, phone or random key — but it cannot ask any bank whether that key exists or who owns it; only the payer's app resolves the key and shows the real receiver name, so confirm that name and test a new code with a small amount first. And a static code reports nothing back to you: to know who paid what, use the optional identifier or a payment provider. Everything here runs in JavaScript on your device: your Pix key is typed, validated and drawn in the browser and never travels anywhere.

The formula

Every field is ID (2) + length (2) + value, in ascending order of ID. Field 63 is a CRC16/CCITT-FALSE: polynomial 0x1021, initial value 0xFFFF, no reflection, computed over the entire payload already ending in "6304" and written as four uppercase hexadecimal digits.

Frequently asked questions

Does my Pix key leave my browser?

No. The key, the name and the amount are read, validated and turned into a QR code by JavaScript running on your device. Nothing is sent to Vai.la or to any other server, nothing is stored, and no one else sees the code you generate.

Does the QR code work in any bank app?

Yes. It follows the BR Code standard published by the Banco Central, which every Pix-enabled app reads. If an app refuses the code, the usual cause is a key not registered at any bank.

Can I create a QR code without an amount?

Yes, and it is the most common choice. Leave the amount empty and the payer types how much to send — useful for tips and donations. Fill it in and the value comes pre-filled in the payer's app.

Does the code expire or can it be paid more than once?

It never expires and can be paid as many times as you want. This is a static Pix code, the kind printed on a sign at a shop counter. Codes that expire or are tied to one payment are dynamic, issued by a bank.

What happens if I type the key wrong?

The tool refuses keys with an invalid format — a CPF or CNPJ with wrong check digits, a malformed email, a phone without the area code or an invalid random key. It cannot tell whether a well-formed key is yours, so read the summary under the code and confirm the name the payer's app displays.

Why does it ask for a name and a city?

Because the EMV standard requires both fields in every payload. They are labels: the money is routed by the Pix key, not by the name. Name is capped at 25 characters and city at 15, both without accents, so long entries are shortened here.

Related tools

Need a QR Code with statistics?

Vai.la creates short links and QR Codes with click tracking, for free.

Vai.la is not responsible for how the tools are used or for decisions made based on their results.