Skip to main content
QRtub generates QR code images from your Links on demand. One Link gives you a panel showing the code; several give you a ZIP. The defaults are chosen for a Tag that has to last, so most exports need nothing changed. Everything adjustable sits behind Advanced. For what each setting does and when to deviate, see QR Code Standards.

One code

Open a Link’s row menu and choose QR Code. You get a panel showing the code itself, its full address with a Copy button, and Download as a secondary action. Scan it straight off the screen to check where the Link goes — usually faster than downloading a file to look at it. The address shown is exactly what the code encodes, scheme included: https://qrtub.com/bar002 for a numbered or custom Link, https://qrtub.com/bepjov for a random one — not the slug on its own. So what you copy and what someone scans are the same string, and Download gives you a file named after the slug, like qr-code-bar002.svg.

Downloading many at once

Select the Links you want and choose Download QR Codes from the bulk menu. The dialog shows how many codes are about to be produced. With more than one selected you always get a ZIP named for the day, like qr-codes-2026-09-02.zip, containing one file per Link named the same way as a single download. There is no option to receive many separate files instead. Because the filenames carry the slug, they line up with the Short URL and Full URL columns of an exported print list — which is how a supplier matches each image to its data row. Neither column is a byte-for-byte match for the filename, though: Short URL adds a leading slash and, and Full URL adds the protocol and domain. Whoever does the matching has to strip those. The images are generated in your browser, in batches of fifty, with a progress toast counting up as it goes and a packaging step at the end. A few dozen codes is instant. Several thousand takes minutes, and the tab has to stay open for the whole time — if you close it, you get nothing and have to start again. If you used “select all”, QRtub fetches the full matching set of Links first, so the total you see counts every match, not just the page on screen.

What you can change

The dialog opens with no controls — it states what you are about to get, and everything else sits behind Advanced. The defaults suit a durable Tag, so most exports need nothing touched. Format — SVG or PNG. SVG is the default: sharp at any size and fast for bulk downloads. Choose PNG when the software receiving it does not support SVG — Google Docs and Slides, most email clients, and a lot of label-printer software. Large PNG batches take longer to generate. Error correction — L, M, Q or H. The percentage is roughly how much of the code can be damaged while it can still be read: 7%, 15%, 25% and 30%. Q is the default, and right for anything produced as a physical Tag. Higher levels give more protection but may require a larger or denser code. See QR Code Standards. Transparent background. Off by default. It removes the code’s background so it can sit over other artwork — only take it when you control what ends up behind the code, because the white background is what guarantees the quiet zone.

What you cannot change

Worth being explicit about, because most QR generators expose these:
  • PNG size is fixed at 1024 × 1024 pixels. Not adjustable — but SVG makes it mostly moot, since vector art has no fixed size.
  • Colors are fixed at black on white, apart from turning the background off.
  • The quiet zone is fixed at 4 modules, which is what print specifications ask for. It is not a setting because there is no good reason to reduce it.
  • Codes in one batch are not forced to a common size. Addresses differ in length, so a batch can contain codes of different module counts. Cut to one Tag size, the denser ones have smaller modules. If that matters for a run, keep the addresses in it a consistent length.
  • Nothing is added to the image. No logo, no caption, no border, no slug printed underneath. Whatever surrounds the code is your layout’s job — and a logo belongs beside the code rather than inside it, for reasons covered in QR Code Standards.