Finnish Bank Barcode Generator

Build the Finnish virtuaaliviivakoodi - the 54-digit bank barcode printed on the transfer section of an invoice - from an IBAN, an amount, a reference number and a due date. The code follows Finanssiala ry's Pankkiviivakoodi-opas version 5.3 and is rendered as a Code 128 character set C symbol, ready to download as PNG or print-quality SVG.

Payment details

Exactly what the Finnish bank barcode standard carries - nothing more.

Must be a Finnish (FI) account - the standard forbids printing the barcode for any other country.

Leave blank, or enter 0, to let the payer choose the amount. The barcode's amount field tops out at 999,999.99.

A Finnish viitenumero (version 4) or an all-numeric RF reference (version 5). A reference is always mandatory.

Encoded as YYMMDD. Leave blank and the field is filled with zeros, which the standard allows.

Export format

Fine for screens and for pasting into a document.

Before you print it

The symbol must be 70-105 mm wide (the guide recommends the maximum) and 11.5 mm tall, with a 20 mm blank margin on each side. Never print the digits directly above or below the bars, and never put a second barcode on the same transfer form.

Your virtuaaliviivakoodi appears here

Enter a Finnish IBAN and a reference number to build the 54-digit code.

What the 54 digits actually contain

The barcode is not encrypted or hashed - it is a fixed-width string of the payment's own fields, which is why the tool can show you exactly where every digit comes from. There are two layouts, and which one applies depends only on the kind of reference number you use:

FieldVersion 4Version 5
Version number1 digit (“4”)1 digit (“5”)
IBAN without the FI prefix16 digits16 digits
Euros6 digits6 digits
Cents2 digits2 digits
Reserved3 digits (“000”)not used
Reference20 digits (viitenumero)23 digits (RF reference)
Due date (YYMMDD)6 digits6 digits

The version 5 reference field has a quirk worth knowing: you strip the letters RF, then pad with zeros after the two check digits rather than in front of them. The guide's own worked example turns RF06 5595 8224 3294 671 into 06000000559582243294671. This tool implements exactly that rule, verified against the full 54-digit example printed in section 12 of the guide.

Need a valid reference number first? Generate a viitenumero or an RF reference and it carries straight over into this tool.

अक्सर पूछे जाने वाले प्रश्न

Miten tämä virtuaaliviivakoodi generaattori toimii?

Enter the recipient's Finnish IBAN, the amount in euros, the reference number and the due date. The tool assembles the 54 digits in the order Pankkiviivakoodi-opas specifies, picks symbol version 4 or 5 depending on whether your reference is a national viitenumero or an RF reference, and draws the result as a Code 128C barcode you can download as PNG or SVG. Everything runs in your browser.

Why does the tool reject my reference number?

Because a reference is mandatory in a bank barcode and its check digit has to be correct - the barcode has no way to signal an error, so an invalid reference would silently misroute the payment. For a viitenumero the digits are weighted 7-3-1 from the right; if the check digit does not match, the tool tells you the correct reference instead of just refusing. For an RF reference the ISO 11649 mod-97 digits must match, and the reference must be all-numeric after RF.

Can I generate a bank barcode for a non-Finnish IBAN?

No, and this is a rule of the standard rather than a limitation of the tool. Pankkiviivakoodi-opas states that the bank barcode may only be printed for IBANs beginning with FI. If you need to be paid from abroad, use a SEPA payment QR code instead, which works across the whole SEPA area.

What if my invoice is for more than 999,999.99 euros?

The amount field is six digits of euros plus two of cents, so it stops at 999,999.99. For a larger invoice the guide gives you two options: print the barcode with the amount field zeroed out, so the payer types the amount themselves, or leave the barcode off the form entirely. Leaving the amount blank in this tool produces the zeroed version.

How big should I print the barcode, and can I put the numbers under it?

The symbol must measure between 70 and 105 mm from the leading edge of the first bar to the trailing edge of the last, and 10.0 to 12.7 mm tall, with a 20 mm blank margin on each side. The guide recommends printing at the full 105 mm because it scans more reliably. Section 11 explicitly forbids printing the human-readable digits immediately above or below the symbol, so download the SVG and place it without a caption.

Is the barcode the same thing as the payment information on the invoice?

It has to be. The guide requires that where the same information appears both as bars and in plain text on the transfer form, the two must agree exactly - and the invoicer is responsible for that. So generate the barcode from the same IBAN, amount, reference and due date that you print in the text fields, and regenerate it whenever any of them changes.

संबंधित टूल