// No account · No expiry · 100% client‑side

Free PIX QR Code Generator

Generate a static PIX BR Code from your key, name, and city, with the CRC16 checksum computed in your browser. Learn when you need a dynamic PIX charge.

50QR code types
61Frame styles
6File formats
1 Complete the content
2 Design your QR
Shape style
Border style
Center style
3 Download your QR
Example preview

Example QR code preview shown. Enter content to create your code.

Excellent
High contrast and optimal density. 100/100
px
px

Need to change it after printing? Make a dynamic QR code

No recent history found. Create and download a QR code to see it here.

A PIX QR code from this generator is a static BR Code: a text string in the EMV format defined for Brazil's PIX system, carrying your PIX key, name, city, an optional amount, and a CRC16 checksum. Any bank app in Brazil that supports PIX can read it and open a pre-filled payment. The code is built entirely in your browser, and it is reusable, which is also its limit.

How do you make a PIX QR code?

  1. Enter your PIX key: an email address, phone number, CPF or CNPJ, or a random key from your bank.
  2. Enter the receiver name (up to 25 characters) and city (up to 15 characters). The form enforces the limits.
  3. Optionally enter an amount. Leave it empty for an open-amount code.
  4. Download the code and test it in a bank app, stopping at the confirmation screen.

For the key pagamentos@example.com.br, the name "Padaria Sol", the city "Sao Paulo", and R$ 18.50, the code contains this text:

00020126470014br.gov.bcb.pix0125pagamentos@example.com.br520400005303986540518.505802BR5911Padaria Sol6009Sao Paulo62070503***6304CED9

What is inside that string?

A BR Code is a chain of tag-length-value fields: a two-digit tag, a two-digit length, then the value. Reading the example left to right shows what this generator sets.

TagMeaningValue here
00Payload format01
26Merchant account: PIX identifier and your keybr.gov.bcb.pix + your key
52Merchant category code0000
53Currency986 (Brazilian real)
54AmountPresent only if you entered one, always with two decimals
58 / 59 / 60Country, name, cityBR, your name, your city
62Additional data (transaction ID)***, meaning "no transaction ID"
63CRC16 checksumFour hex digits, computed over everything before it

The checksum is what lets a bank app reject a mistyped or corrupted code. Because it is calculated in your browser from your exact input, editing any character by hand invalidates it.

Static or dynamic PIX: which do you actually need?

This is a static code. Every scan produces a payment to the same key, and the transaction ID is ***, so the bank has no way to tell one customer's payment from another's on the code alone. That suits a tip jar, a market stall, a donation sign, or a personal "pay me" card.

If you need to match each payment to an order or invoice, you need a dynamic PIX charge created through your bank or payment provider, with a unique transaction ID per sale. This generator cannot create one, because that requires a service that talks to your bank.

What should you type carefully?

  • Use plain ASCII for name and city. The form's own placeholder writes "Sao Paulo" without the tilde. BR Code fields follow the EMV convention of simple characters, and bank apps are not guaranteed to handle accented letters the same way, so plain ASCII is the safer choice.
  • Copy the key exactly. A wrong key sends money elsewhere. Scan your own code and read the receiver name the app shows.
  • Keep the amount realistic. A fixed amount in a static code is one code per price.

How do you test it?

Scan with the app of your own bank and one other, and stop at the confirmation step. The name and city on screen should match your entries. Run the exported image through the QR validator, and check its size against the print size guide. Compare methods in how to accept QR code payments.

This article is general information, not financial or legal advice. PIX rules and fees are set by the Central Bank of Brazil and your financial institution and can change.

References

// FAQ

Frequently Asked Questions

Clear, direct answers to common questions about generating and deploying QR codes.

A BR Code that always pays the same PIX key. This generator sets the transaction ID to *** (none), so the code can be reused but the bank cannot tell one customer's payment from another's from the code alone.

When you must match each payment to an order or invoice. That requires a charge created through your bank or payment provider with a unique transaction ID, which this generator cannot do.

An email address, phone number, CPF or CNPJ, or a random key issued by your bank.

The name is capped at 25 characters and the city at 15, so the code follows the format banks expect.

Use plain ASCII to be safe. The form's own example writes Sao Paulo without the tilde, and accented characters fall outside the simple character set EMV QR fields assume. Not every bank app has been tested with them.

No. The code, including its checksum, is computed in your browser. The key is visible to anyone who scans the code.