Make a Printable QR Code From Your Pix Code

Copy the Pix Copia e Cola string out of your bank app, paste it in, and style the code. Export it print-ready for a counter sign, a delivery bag, or an invoice.

1 Content
https://
No registration required Unlimited QR codes No watermark Free high-resolution downloads
2 Design
Shape
Pattern
Eyes
3 Preview
Copied!

What Is a Pix QR Code?

A Pix QR code is a QR code that stores a BR Code - the payment string defined by the Banco Central do Brasil for Pix, written in the EMVCo merchant-presented format. Scanning it in a Brazilian bank app opens a transfer already addressed to the receiver, and often with the amount already filled in. The same string, shown as text instead of as a pattern, is what Brazilians call Pix Copia e Cola.

The KoloQR designer with a QR code being styled - shape, colors and center logo

Static and Dynamic Pix Codes Behave Differently

Pix defines two kinds of QR code, and only one of them belongs on something printed:

  • Static (QR Estático) - the whole payment sits inside the string: your Pix key, your name, your city, optionally an amount. It never expires, works offline for the scanner, and can be paid any number of times. This is the one to print.
  • Dynamic (QR Dinâmico) - the string holds a link to a payload your payment provider hosts. The payer's app fetches the details at scan time, so the amount and the due date can be set per transaction - and the code can expire.
  • Copia e Cola - not a third kind. It is the same string in plain text, for pasting into a bank app instead of scanning. If you have the text, you have everything the code contains.

Print a static Pix code and it keeps working for years; print a dynamic one and you have printed a link with an expiry date on it. Dynamic codes belong on a screen - a checkout page, a WhatsApp message, a delivered invoice - where a fresh one is generated for each payment. A market stall, a counter sign or a delivery bag wants the static kind, and wants it built from a key that is not going to move.

KoloQR Encodes the String Your Bank Issued

A Pix BR Code is not free text. It is a sequence of length-prefixed fields - the Pix key under the identifier br.gov.bcb.pix, currency 986 for the real, country BR, your name, your city - and it closes with a CRC16 checksum calculated over everything before it. Change one character and the checksum no longer matches, and the payer's app rejects the code rather than paying the wrong person. That is why KoloQR does not assemble a Pix payload from a key: your bank app already issues a valid one, and the safe thing to do with it is copy it, not rebuild it. Open the Pix section of your bank app, choose to receive by QR code, and take the Copia e Cola text it shows you. Paste that string into KoloQR and you get a code that encodes exactly what your bank produced, styled and exported at the size and quality a printer needs - which is the part the bank app does not do.

Generate QR Code
A phone scanning a printed QR code to test it before the print run

Where Pix QR Codes Are Used

Pix reaches places a card terminal never did, which is most of where these codes end up:

Feiras and Street Stalls

A laminated code on the awning takes payment from a customer with no cash and no card, in the seconds before they walk on.

Delivery Bags and Motoboy Handoffs

A code on the bag settles the bill at the door without the driver carrying change or a terminal.

Counter Signs in Small Shops

One code beside the till, with the shop's name printed under it so the customer can check it against the name their app shows.

Salons, Barbers and Home Services

A code on the mirror or the price card, paid while the next client is already sitting down.

Church and Community Collections

A printed code on the bulletin reaches the person who no longer carries notes, which is now most of the room.

Freelance Invoices and Quotes

A code on the PDF removes the step where a client retypes a 32-character random key and gets one character wrong.

How to Create a Pix QR Code

From bank app to printed sign in four steps:

Generate QR Code
  1. 1

    Pick the Pix Key You Want to Print

    A Pix key can be your CPF, CNPJ, phone number, email, or a random key. For anything printed, use a random key: it identifies the account without publishing your document number or your phone on a sign in the street.

  2. 2

    Generate the Static Code in Your Bank App

    In the Pix section, choose to receive by QR code and pick the static option. Set an amount if the sign is for one fixed price; leave it blank if the payer decides. Then copy the Copia e Cola text.

  3. 3

    Paste the String and Design the Code

    Choose the Pix type in KoloQR and paste the payload exactly as copied - no trimming, no line breaks. KoloQR recomputes the checksum and reads the payload back, so the name, the city and the amount shown under the field are the ones the payer will see. Then style the code, and keep contrast high; this is a code scanned outdoors by someone in a hurry.

  4. 4

    Pay Yourself One Real Before Printing

    Scan the finished code with a real bank app and go to the confirmation screen. Check the name and the city shown are yours, send one real, and only then export SVG or PDF for print.

The KoloQR generator with a QR code being designed and ready to download

Which File Format Should You Download?

KoloQR exports your Pix QR code in three formats. Pick by where it will be seen:

  • PNG for invoices sent by email or WhatsApp, and for a code shown on a screen at one fixed size.
  • SVG for counter signs, laminated cards, and adhesive labels - anything a printer scales without softening the edges.
  • PDF for handing to a gráfica, or for a price card you print and laminate yourself.

A Pix payload is long. A static BR Code with a random key, a name and a city usually runs past 100 characters, which is several symbol versions denser than a short link - more modules in the same square, each one smaller. Two things follow. Print it larger than you would print a URL code, and keep the merchant name short: those fields are capped at 25 characters for the name and 15 for the city, and every character you do not use is a slightly coarser, slightly more forgiving pattern.

Generate QR Code

Best Practices for Pix QR Codes

A printed payment code is the most attacked object in this entire collection, so half of this list is about the sign rather than the pattern:

  • Use a Random Key on Anything Public

    A random key exposes nothing. A CPF or phone key printed on a street-facing sign publishes a document number or a number people can call, and neither is recoverable once it is on a hundred flyers.

  • Print Your Name Beside the Code

    The payer's app shows who is being paid before they confirm. Printing the same name next to the code turns that screen into a check the customer can actually make.

  • Print Static Codes, Show Dynamic Ones

    Dynamic codes carry an expiry and depend on a hosted payload. Anything laminated, stuck down, or sent to a printer should be static.

  • Watch for Stickers Placed Over Yours

    Covering a real payment code with a fraudulent one is the standard attack on unattended signage. Use tamper-evident laminate, and check your own signs at the start of every day.

  • Preset the Amount Where There Is One

    A code per price removes the mistyped total and the argument about which of the two people got it wrong. A code with no amount belongs on a tip jar, not on a menu.

  • Keep the Merchant Name and City Short

    25 characters for the name, 15 for the city. Staying under both keeps the payload shorter, which keeps the printed pattern coarser and easier to scan.

  • Reprint When You Move the Key

    Pix keys are portable between banks and can be deleted outright. A printed code built on a key you no longer hold is a sign that quietly stops taking money.

  • Make It Bigger Than You Think

    Pix payloads are dense and the codes are scanned outdoors, at arm's length, often in bright sun. Roughly a tenth of the reading distance is the floor, not the target.

  • Keep the Modules Dark on Light

    Inverted or low-contrast payment codes fail in exactly the light where money is most often handed over. Dark on light, always, and four modules of clear quiet zone on every side.

  • Test With a Real Payment, Not a Scanner App

    A generic scanner tells you the string decoded. Only a bank app tells you the checksum passed, the key resolved, and the name on the confirmation screen is yours.

Why Your Pix QR Code Isn't Working

A Pix code fails in front of a customer holding a phone, so these are worth checking before the sign goes up rather than after.

  • The Bank App Says the Code Is Invalid

    Cause
    The payload was altered after the bank issued it - a trimmed space, a line break introduced by copy-paste, or a character lost in a spreadsheet. The BR Code's closing CRC16 checksum no longer matches the rest of the string.
    Fix
    Copy the Copia e Cola text again straight from the bank app and paste it without editing anything. Do not retype it, and do not let a word processor near it.
  • A Generic Scanner Reads It but No Payment Starts

    Cause
    That is expected. A phone's native camera sees a long string of digits and letters, not a payment - the BR Code is only meaningful to an app that speaks Pix.
    Fix
    Test with a Brazilian bank app's Pix scanner. If it opens a transfer addressed to you, the code is fine, whatever the camera app did with it.
  • The Code Worked and Now It Doesn't

    Cause
    Either the Pix key behind it was deleted or ported to another institution, or the printed code was dynamic and its payload has expired.
    Fix
    Confirm the key is still registered to your account, and check whether you printed a static or a dynamic code. Reprint from a static code built on a key you intend to keep.
  • Someone Reports Paying the Wrong Person

    Cause
    A fraudulent sticker was placed over the printed code - the standard attack on unattended payment signage anywhere in the world.
    Fix
    Remove the sign, replace it with a laminated one carrying your name beside the code, and tell customers to check the name on the confirmation screen before sending. Report the fraud to your bank: Pix has a special return mechanism for reported fraud, though it is not a card chargeback and it does not always recover the money.

Still not sure whether the fault is the file or the print? Drop the exported image into the QR code scanner - if it decodes on a desktop and not on paper, the fault entered after the file.

Questions? Answered

A Pix QR code stores a BR Code - the Banco Central do Brasil's payment string, written in the EMVCo format. Scanning it in a Brazilian bank app opens a transfer already addressed to the receiver, often with the amount filled in.

No. A Pix payload ends in a checksum the payer's bank validates, so it has to come from a source Pix trusts. Generate it in your bank app, copy the Copia e Cola string, and use KoloQR to encode, style and print that exact string.

Pix Copia e Cola is the BR Code shown as text instead of as a QR code, so it can be pasted into a bank app. The text and the code carry identical data - if you have one, you can produce the other.

Static. A static code holds the payment details in the pattern, never expires, and can be paid any number of times. A dynamic code points at a hosted payload that can expire, which is not a property you want laminated to a counter.

A random key. It identifies your account without publishing your CPF, your phone number or your email on a sign anyone can photograph. Keys are free to create and you can hold several.

Yes. Your bank app offers an amount field when generating a static code, and the payer sees it already filled in. Leave it blank for tips and donations, where the payer decides what to send.

A static one does not - it works as long as the Pix key behind it stays registered to your account. A dynamic one can expire, because the details live in a payload your provider hosts rather than in the pattern.

A BR Code is not a link, so a native camera has nothing to open and usually just shows the raw string - unlike a UPI code, which is a URI a phone can act on. That is not a fault in the code. Test it with a bank app's Pix scanner instead.

Yes, and they are set by each bank rather than by the code. Lower limits at night are common. A printed code cannot raise them, so a customer paying a large amount may need to adjust the limit in their own app first.

About a tenth of the reading distance, so roughly 10 cm for a sign read from a metre away. Pix payloads are denser than a link, so err generously - the print size calculator works it out from your own distance and payload.

Why KoloQR?

  • Create QR codes for websites, menus, Wi-Fi, PDFs, and business cards
  • Customize colors, logos, and unique shapes
  • Download high-quality PNG and SVG files
  • Built for both print and digital
Generate QR Code
A plain black QR code beside the same code restyled as a circle with brand colors