Skip to content

QR code generator for a Polish bank transfer (ZBP standard)

A QR code holding the details of a domestic transfer in zloty, to the Polish Bank Association recommendation. The customer scans it in their banking app and the transfer form is filled in.

Scan this in your banking app

Banking apps understand this code; a plain phone camera does not. The camera will show a string of characters and do nothing with it. Open your banking app and use its QR scanner.

Static code

The content is stored inside the code for good. Once printed it cannot be changed; you have to generate a new code. Dynamic codes, whose target can be swapped later, are planned for the next stage.

Code settings

At most 20 characters, as the recommendation requires.

26 digits, with or without spaces. The check digits are verified.

Leave empty to let the payer enter it. For example 12.00.

At most 32 characters.

Optional. The recommendation requires it for businesses; leave it empty for individuals.

The side of one square (module) of the code. Recommended 0.25 to 2 mm.

How much of the code can be damaged or covered without losing data. A higher level gives a bigger code.

Blank margin around the code required by the standard. Keep it on.

Decoration

The finder patterns in the three corners stay square whatever you pick, because a scanner starts from them.

PNG, JPG, SVG or WebP, up to 512 kB. The file stays in your browser and is never uploaded. Adding a logo raises the error correction to its highest level.

Appearance

Hexadecimal, for example #000000.

Fills the quiet zone too.

Preview

Size with quiet zone: 20.5 × 20.5 mm. The on-screen preview is enlarged.

Download the code

PNG file: 246 × 246 px, 304.8 DPI. Each module gets whole pixels and the DPI is set so the printout has exactly the size in mm shown above.

What is Polish transfer QR code

This code stores payment details in the format set by the Polish Bank Association in its December 2013 recommendation. Scanned in a banking app it fills in the transfer form: account number, recipient, amount and title. The customer only confirms, so there is no way to mistype the account number.

The recommendation caps the whole code at 160 characters, the recipient name at 20 and the title at 32. That is why a code on an invoice usually carries only the document reference rather than a full description. The account number is checked before the code is drawn.

Frequently asked questions

Can I scan this with the phone camera?

No. The camera shows a raw string separated by pipes and nothing more. The code has to be scanned from inside a banking app, which recognises the format and fills in the transfer form.

How do I make a code without an amount, so the payer enters it?

Leave the amount empty. The format then writes six zeros, which is the agreed signal for the banking app to let the payer type the amount. For the same reason a code for zero zloty cannot be made.

Do I have to give a tax number?

The recommendation requires it for a business recipient and allows it to be empty for an individual. The transfer works either way, but a company issuing invoices should give it.

Why is the recipient name limited to 20 characters?

That is the recommendation, not our limit. For a longer name, shorten it to something recognisable, such as the company name without its legal form.

Does this code work abroad?

No. It is a domestic standard for transfers in zloty, understood by Polish banking apps. For a euro transfer in the SEPA area there is a separate code in the EPC standard.