Payments
PIX copia e cola: the copy-paste twin of the QR code
PIX copia e cola is the same EMV BR Code string as the PIX QR code, presented as text for copy-and-paste. Generate one payload and offer both forms: the QR for another phone's camera, the text for the same-phone case, where a customer cannot scan a code displayed on their own screen.
One payload, two forms
There is no separate "copia e cola format". The string a Brazilian banking app accepts when pasted is byte-for-byte the same EMV BR Code that gets encoded into the QR code:
00020126360014BR.GOV.BCB.PIX0114+55119123456785204000053039865802BR5913Cafe Central6009Sao Paulo62070503***6304A13F
Render that string as a QR code and you have a PIX QR. Print or display it as text and you have copia e cola. Any generator that produces one has already produced the other: UseQR's PIX builder shows the string alongside the code, and decoding any PIX QR with /validate recovers it.
The same-phone problem
A QR code assumes two devices: one showing the code, one scanning it. The moment both roles land on the same phone, the QR is useless. You cannot scan a code shown on your own screen without a second device.
That case is common in Brazil:
- An invoice or payment request arrives by WhatsApp or email and is read on the phone.
- An e-commerce checkout displays the PIX code in the same mobile browser the customer is buying from.
- A code is posted in an Instagram bio or story viewed on the paying phone.
Copia e cola is the standard answer. The customer copies the string, opens their banking app, chooses "Pix copia e cola", pastes, and confirms. Same payment, no camera involved.
Why the pasted string is unforgiving
The string is only valid in full. It must start 000201 and end with the four hex digits of
the CRC16 checksum. Lose a character in copying
(a truncated selection, an invisible character picked up from a chat app), and the checksum
no longer matches, and every banking app rejects it without explaining why.
Two practical consequences:
- Digitally, always provide a copy button rather than asking people to select 100+ characters of text by hand. Selection mistakes are the main failure mode.
- In print, keep the string on as few lines as possible in a plain font, and treat it as a fallback for retyping into a copy-capable channel rather than something people transcribe by hand. Nobody accurately retypes a 118-character string.
When to show which
| Situation | Lead with |
|---|---|
| Counter, standee, poster | QR code, string printed small beneath |
| E-commerce checkout on mobile | Copia e cola with a copy button, QR secondary |
| WhatsApp / email payment request | Copia e cola only |
| Printed invoice | QR code plus the string as text |
| Instagram bio, link page | Copia e cola (viewers are on the paying phone) |
For a physical counter, the QR stays primary (scanning is faster than copy-paste), but the text costs one extra line and rescues every customer whose camera struggles with glare, distance or a damaged print. The small-business setup guide covers the full counter arrangement.
Generating both
Build the payload once with the PIX generator (key, merchant name, city, optional amount), and use the same output twice. Because UseQR builds the string client-side, the PIX key never leaves your browser, which matters for a payment credential you are about to print everywhere.
Before publishing either form, paste the string back into /validate or scan the code with your own banking app and check the name it displays matches yours.
FAQ
Is PIX copia e cola the same as the QR code?
Yes. The pasted string and the QR content are the identical EMV BR Code payload, checksum included. A generator that produces one has produced both; decoding the QR recovers the copia e cola string exactly.
When should I use copia e cola instead of a QR code?
Whenever the code is displayed on the phone that will pay: mobile checkouts, WhatsApp payment requests, Instagram bios. A phone cannot scan its own screen, so the copyable string is the only form that works there.
Why does my pasted PIX code get rejected?
The string was altered, usually truncated during selection or polluted by an invisible character from a chat app. The CRC16 checksum then fails and apps reject the whole string. Copy again using a copy button, not manual selection.
Should I print the copia e cola string on paper?
Print it beneath the QR as a fallback, but keep expectations honest, a 100+ character string is for re-copying into a digital channel, not for hand-typing. The QR remains the primary form on anything physical.
Try it: free, no signup
Related
- QR payment standards compared: UPI, PIX, EPC, EMVCo, UPI uses its own upi:// deep link; PIX, PromptPay, QRIS, DuitNow and PayNow are all EMVCo tag-length-value profiles; EPC uses a twelve-line text block.…
- The PIX QR code format: EMV BR Code explained, A PIX QR code is an EMVCo BR Code: tag-length-value fields ending in a CRC16/CCITT-FALSE checksum. The same string is also copia e cola, which people…
- Static vs dynamic PIX QR codes, which one your business needs, Static PIX codes carry your key and can be reused forever; dynamic ones are PSP-generated per transaction, expire, and confirm by webhook. How to choose.
- A PIX QR code for a small business: the complete counter setup, Static key, EVP for privacy, code at 4 cm or larger, copia e cola underneath, your name matching the app. The whole PIX counter setup, at zero cost.