A Better Bulk QR Code Generator: Reliable Exports and Live Logo Updates
The bulk QR workflow now offers reliable previews, non-empty ZIP exports, in-page SVG, PNG, and JPG selection, and instant batch-wide design updates.
Today we shipped a focused update to the free bulk QR code generator. The goal was simple: when you create dozens or hundreds of QR codes, every preview, design choice, and downloaded file should be dependable.
The update fixes two serious problems in the previous batch workflow and makes customization much easier. Generated codes now appear reliably in the results table, SVG files inside the ZIP contain real data, and the format selector is available directly on the bulk page. Logo selection has also been rebuilt so that the image you choose is the image embedded in every QR code.
Reliable previews and ZIP files
Previously, the results table could remain empty after clicking Bulk Generate QR Codes. A ZIP download could still be created, but its SVG files might contain zero bytes. That combination was especially confusing: the interface looked as though it had accepted the request, yet there was nothing useful to review or print.
The batch generator now creates each QR code in a single shared data model. The preview table and ZIP exporter both read from that same source. This removes the timing gap that allowed the interface and downloaded files to disagree.
We also added checks around exported image data. An invalid or empty image can no longer silently become a file in the archive. Filenames are numbered so repeated input values do not overwrite one another, and the included content.csv manifest still maps each source line to its corresponding image.
Choose SVG, PNG, or JPG without leaving the page
The old workflow made you return to the main generator to change the download format. That did not make sense for a batch task.
The bulk page now includes a clear format control above the results:
- SVG is the best default for print, labels, and any layout that may need to scale.
- PNG is convenient for presentations, documents, and tools that expect a raster image.
- JPG works with systems that accept only common photo formats.
Your choice applies to every image in the ZIP. The QR content and visual settings remain the same across formats.
Logo selection now does exactly what it says
The previous Logo picker had two different pieces of state: one controlled the highlighted button, while another controlled the actual QR configuration. A logo could appear selected even though the generator had never received it. If the asset conversion failed, the picker could also remain stuck.
The picker now has one immediate source of truth. Select Twitter, YouTube, or any other built-in logo and that choice is applied at once. Uploaded images follow the same path once the browser has read the file.
Built-in logo files are now embedded directly into the generated SVG as image data. This matters because the QR code itself is displayed and downloaded as an SVG data URL. A relative path such as /logo/twitter.svg has no reliable document location inside that file; embedding the image makes the SVG self-contained and portable.
Change the design after generating
A batch is often reviewed before it is final. You may generate 100 codes, notice that a different logo reads better, and want to compare the result. Requiring another click—and risking a mismatch between old and new output—adds unnecessary friction.
Now, after a batch has been generated, changing the logo, foreground color, background, transparency, frame, or image size automatically rebuilds the existing result set. The source list stays intact, and every visible QR code updates together.
The update also protects against a subtle race condition. If you switch designs while an earlier generation is still running, the older asynchronous result is discarded instead of overwriting your newest choice.
A simpler batch workflow
The improved process is:
- Paste one URL or text value per line.
- Set the size, colors, background, logo, or frame.
- Click Bulk Generate QR Codes once.
- Review the complete set in the results table.
- Fine-tune the design if needed; the batch updates automatically.
- Choose SVG, PNG, or JPG and download the ZIP.
Everything happens in your browser. The list you paste and the QR codes you generate are not uploaded to our server. The codes are static, so their content is stored directly in the image and does not depend on an account or hosted redirect service.
How we verified the release
We added automated coverage for generating with a preselected logo, updating an existing batch when the logo changes, rejecting stale asynchronous results, embedding built-in image assets, and producing non-empty archives. We also tested the complete workflow in a browser and inspected the downloaded SVG files to confirm that the selected logo data was actually present.
This is the first post in our new product blog. Future entries will explain meaningful improvements and practical QR code decisions with the same focus: clear behavior, portable output, and control that stays with the user.