Skip to main content
OpenQRS
Tools
Current language: English
100% Private

Multi-link QR code generator

100% Private & Local — Your data never leaves your browser. These QR codes are permanent and will never expire.

Enter the address of the page that lists your links.

Module shape
Presets
Corner frame
Add a centre logo
Choose an image, or drop one herePNG, JPEG, WebP or GIF, up to 1000 KB

More design options

Contrast 11.5:1 between the modules and the background.

Presets
Gradient
45°
Module shape
Corner frame
Corner centre
4 modules

A logo sits at the centre and holds the level at H. Its width limit follows the symbol: 14% on the smallest code, 30% on a dense one.

Export

Raster, for screens

Complete the form to enable the downloads.

Export size and encoded text
Payload
Nothing encoded yet
Symbol
Not built yet
Recovery
M

Waiting for input

Export size
Encoded text

A symbol holds one payload, so a multi-link code is either one address pointing at a page that lists your links, or a plain-text list the reader displays. Both are offered here, along with an honest account of what the text list does on a real phone.

When someone scans it

In page mode the reader offers to open your links page. In list mode it shows the addresses as text, and whether any of them are tappable depends on the reader.

One symbol carries one payload

There is no QR format that means several destinations. A symbol holds a single string and the reader does one thing with it, so every product sold as a multi-link QR code is one of the two options above: a link to a page that lists the links, or the list itself as text.

Services that sell this as a feature are selling the hosted page plus a redirect they control. That is a real service, and it is also a subscription your printed code then depends on. The same result is available from any page you host, with the code pointing straight at it.

The plain-text list, honestly

A list of addresses separated by line breaks decodes as text, and what a reader does with text is not standardised. Some make every line tappable, some only the first, and some show a block of characters with nothing to tap at all. Assume that whoever scans it may have to type at least one address by hand, and keep the addresses short enough that typing is realistic.

It also costs symbol size. Five forty-character links plus their line breaks come to about 204 bytes, which is a version 10 symbol at recovery level M — 57 modules across, against 29 for a single short address. At the same printed width those modules are half as wide, so the code needs either a bigger print or a closer camera.

Its one genuine advantage is that it works with no network at all. If the list has to survive a venue with no coverage, this is the mode that does it.

Why a hosted page is usually the better answer

One short address makes one small symbol, and the page behind it stays editable forever. Links can be added, reordered or removed and the printed code does not care, because it points at the page rather than at the list.

It does not need a link-in-bio service. A static HTML file with a heading and a list of anchors on any host will do, and hosting it yourself means nothing between the scan and your page is counting anything.

The trade-off is that the page has to stay up. A static code cannot be repointed after printing, so use an address on a domain you intend to keep, and prefer a short stable path over anything a content system might renumber.

Questions and answers

Can one QR code open several links at once?

No. A symbol holds one payload and the reader takes one action. The two workable approaches are a page that lists your links, or a text payload the reader displays.

Will the addresses in the text list be clickable?

Sometimes. Readers differ: some linkify every line, some only the first, some none. This is the main reason a hosted page is the more reliable choice for anything printed in quantity.

Do I need a link-in-bio service for the hosted page?

No. Any page you can publish works, including a single static HTML file. What matters to the code is that the address stays valid.

How many links fit in the text list?

The limit is bytes, not links: 2,331 at recovery level M, so around fifty forty-character addresses in theory. In practice the symbol gets too dense to print small long before that, and around five is where it stops being comfortable.

How a static QR code works

Every code on this site is static: the payload is written into the black and white modules themselves. Nothing is looked up when the code is read, no server of ours takes part, and no subscription holds the printed code up. The same property is the limit — once it is printed, what it contains cannot be changed.

Three things then decide whether a printed code reads: how many bytes the payload came to, which recovery level absorbs the damage, and how wide a single module ends up on paper. These guides work through each of them with the numbers.