# 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.

Source: https://useqr.app/docs/payments/pix-copia-e-cola · Last reviewed 2026-08-21 · UseQR is free forever, MIT licensed, no signup.

---

## 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](/docs/payments/pix-qr-code-format) 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](/pix) shows the string alongside the code, and decoding any PIX QR with
[/validate](/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](/docs/scanning/how-to-scan-a-qr-code-on-the-same-phone) 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](/docs/payments/pix-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](/docs/payments/pix-qr-for-small-business) covers the full counter arrangement.

## Generating both

Build the payload once with the [PIX generator](/pix) — 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](/docs/security/client-side-vs-server-side-qr-generation),
which matters for a payment credential you are about to print everywhere.

Before publishing either form, paste the string back into [/validate](/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

- https://useqr.app/pix
- https://useqr.app/validate
