What is a Pix copia e cola decoder?
A Pix copia e cola decoder is a tool that reads the text of a Pix QR code (the BR Code payload) and splits it into the fields defined by the Central Bank of Brazil (BCB): format indicator, initiation method, account block with the Pix key, category, currency, amount, country, name, city, transaction identifier and CRC. It also recalculates the CRC16 to tell you whether the code is intact. Everything runs in your browser; the pasted text is not sent anywhere.
How to use it
- Copy the Pix copia e cola (copy-and-paste code) you received, or extract the text from a QR code with your camera or a generic reader.
- Paste it in the field above and click Decode. Line breaks are ignored; spaces inside the name are preserved.
- Read the result: CRC status, whether it is a Pix code (GUI
br.gov.bcb.pix), static or dynamic, key and key type, name, city, amount, txid and the full TLV tree.
What each field means
| ID | Field | Value in a static code |
|---|---|---|
| 00 | Payload Format Indicator | 01, always |
| 01 | Point of Initiation Method | omitted or 11 (reusable); 12 = single use |
| 26 | Merchant Account Information | subfield 00 = br.gov.bcb.pix, 01 = key, 02 = optional description |
| 52 | Merchant Category Code | 0000 when there is no category |
| 53 | Transaction Currency | 986 = Brazilian real (ISO 4217) |
| 54 | Transaction Amount | optional; decimal point, up to 2 places, e.g. 25.90 |
| 58 | Country Code | BR |
| 59 | Merchant Name | recipient name, up to 25 ASCII characters |
| 60 | Merchant City | city, up to 15 ASCII characters |
| 62 | Additional Data Field | subfield 05 = txid (up to 25 alphanumeric characters) or *** |
| 63 | CRC | CRC16-CCITT (polynomial 0x1021, initial 0xFFFF) of everything before it, including 6304 |
Worked example
Click "Use the Central Bank example" to load the code from the official manual. The result shows a valid CRC (1D3D), Pix scheme, reusable static type, random key 123e4567-e12b-12d1-a456-426655440000, name Fulano de Tal, city BRASILIA, amount not set and txid ***. Change the last character to anything else and decode again: the CRC becomes invalid, which is exactly what the payer's app would do.
Static, single-use static and dynamic
| Type | How to recognise it | Who can generate it |
|---|---|---|
| Reusable static | Field 01 absent or 11; key in 26-01 | Anyone, including this site |
| Single-use static | Field 01 = 12; key in 26-01 | Anyone; the app may refuse reuse |
| Dynamic | Field 01 = 12 and PSP URL in 26-25 | Only the account's bank or PSP, via API, with a signed payload |
Common uses
- Before paying: check that the key and name in a code sent by a stranger match what was agreed. Remember that the name in the code is typed by whoever generated it; the real name appears on the app's screen, coming from the DICT.
- Before printing: validate the code on your shop sign, whether generated here or elsewhere.
- Support and development: find the field with the wrong length in a rejected code, or check whether a system is writing the amount with a dot and two decimals.
Limits of this tool
The decoder validates the structure and the CRC. It does not know whether the key is registered, whether the account exists, whether a dynamic code has already been paid or whether the payload URL is active, because none of that is in the text and none of those lookups is possible outside a Pix participant institution. To find out whether a key has a valid format and whether the CPF or CNPJ check digits match, use the Pix key validator. To create your own code, use the Pix QR code generator.
References
Central Bank of Brazil (BCB), Manual de Padrões para Iniciação do Pix; EMVCo, EMV QR Code Specification for Payment Systems, Merchant Presented Mode (TLV structure and CRC).