Bulk QR Code Generator

Turn a CSV into hundreds of unique QR codes. Download named PNG or SVG files in a ZIP, with a manifest. Static codes, made entirely in your browser. Why free? →

1 · Upload CSV
Click or drop a .csv

One row per code — a column of links or text

3 · Code style
Format
Size
Recovery

M is balanced. Q handles rougher printing. H gives max recovery but makes denser codes, so test small labels.

Colors

Avery Sticker Paper on Amazon Amazon affiliate — supports the free tool, no extra cost to you

Generate QR codes in bulk from a spreadsheet. Upload a CSV with a column of links (or any text), optionally a column of filenames, and get a ZIP of print-ready QR codes — one per row — each named the way you want. Choose PNG or scalable SVG, recolor the dots, and the tool checks that every code actually scans before you download. The codes are static, so they never expire and nothing is tracked. No signup, no watermark, and nothing you upload leaves your browser.

Per runHundreds of codes
InputCSV / spreadsheet
OutputNamed PNG or SVG
PackageZIP + manifest
PrivacyIn your browser

Static QR codes — the data lives in the pattern itself, so there is no redirect, no expiry, and no scan tracking. Need just one code, or a printable sheet of stickers? Use the QR code sticker maker.

Frequently asked questions

How many QR codes can I generate at once?

Hundreds in a single run is the sweet spot. The generator works in your browser, so there is no server-side row limit, but your computer still has to render every QR image, verify it, and package the ZIP. A few hundred rows usually feels quick on a modern laptop. If your CSV has thousands of links, split it into batches so the tab stays responsive and the final ZIP is easier to inspect. The manifest in each ZIP makes batching safe because every generated filename, encoded value, error correction level, and status is listed for review.

What should my CSV look like?

Use one row per QR code. The only required column is the data column: a URL, short text, coupon code, table number, product ID, Wi-Fi note, or anything else you want encoded. You can add a second column for filenames, which is helpful when codes belong to products, people, event tables, inventory bins, or packages. If your first row contains column names, keep First row is a header turned on and map the columns after upload. Blank rows are skipped and reported, so it is fine if your spreadsheet has a few empty lines at the end.

How should I name the QR code files?

The filename column is optional, but it is worth using whenever you need to match QR files back to real-world items. Good filenames are short, unique, and readable: sku-1042, table-12, booth-a3, jane-smith, or menu-fall-2026. Avoid using only a first name or a vague label if multiple rows could share it later. The tool cleans unsafe filename characters and adds .png or .svg automatically. If two rows resolve to the same name, the later file gets a number added so nothing is overwritten. If you do not map a filename column, files are named qr-001, qr-002, qr-003, and so on.

Should I choose PNG or SVG?

Choose PNG when you want a normal image file that works everywhere: documents, emails, Canva, label software, print shops, and most online stores. PNG is usually easiest for day-to-day sticker sheets because the file previews reliably and drops cleanly into common templates. Choose SVG when you need vector artwork that can scale up for signs, posters, packaging layouts, or design apps without getting blurry. SVG is better when the final size is unknown or when a designer will place the codes into a larger layout. Both formats are static QR codes, and both include the quiet zone around the code.

What do M, Q, and H recovery mean?

M is the default because it balances scan reliability and clean-looking codes. Q adds more error correction for labels that might get handled, lightly scuffed, curved, laminated, or printed on less forgiving stock. H is the highest recovery setting and is useful when the code may take visible wear, but it also makes the QR pattern denser. Denser codes can be harder to print small, especially for long URLs or tiny labels. For most bulk sticker jobs, start with M, use Q for tougher print conditions, and reserve H for short data that needs maximum damage tolerance. Always print and scan a sample before committing to a large run.

Do the codes expire or get tracked?

No. These are static QR codes. The link or text is encoded directly into the QR pattern, so there is no redirect service, paid dashboard, scan counter, or hosted short link in the middle. That means the QR code keeps working as long as the destination itself still exists. If you encode https://example.com/menu, the code opens that exact URL. Because there is no tracking layer, you also cannot change the destination later from this tool. For menus, product pages, and evergreen packaging, use a URL you control so you can update the page behind the link.

How do you verify the codes scan?

When verification is turned on, the tool renders each QR code, reads it back in the browser, and confirms the decoded result matches the data from your CSV. That catches rendering problems before the files are zipped. The check is not a replacement for a real print test, because printers, paper, glare, size, ink density, and phone cameras all matter. It does give you a strong preflight: if a row is empty, too long to encode, or fails the browser scan check, it is listed in the manifest and errors.csv so you can fix the row before printing.

What size should I export for printing?

512px is a good default for most sticker and label workflows because it is sharp enough for common printed QR labels without making the ZIP huge. Use 256px only for small on-screen uses or very tiny codes you have already tested. Use 1024px when you plan to print larger labels, send artwork to a print shop, or place the codes into high-resolution packaging files. The exported pixel size is not the same as the printed size; the final print size depends on the software or label template where you place the image. When in doubt, export larger and scale down in the print layout.

How do I keep printed QR stickers easy to scan?

Keep the dots dark and the background light, leave the quiet zone intact, and avoid shrinking the code too far. A one-inch square code is usually comfortable for phone scanning at normal hand distance; larger is better for walls, windows, or packaging scanned from farther away. Glossy paper, laminate, curved bottles, low ink, and busy designs behind the code can all reduce reliability. Print one sheet and scan several samples before committing to a full run. If your labels may be rubbed, handled, or stored loosely, try Q recovery, use good sticker paper, and avoid placing text or artwork too close to the QR pattern.

Is it really free and private?

Yes. There is no signup, no watermark, and no email required. Your CSV is read locally by your browser, and the QR images are generated locally too. The file is not uploaded to MakeMyStickers, and the tool does not need a database to package your ZIP. Optional Amazon affiliate links help support the free tool, but they are separate from generation and do not change the QR data. If your spreadsheet contains private URLs, internal IDs, draft product pages, or event check-in links, the safest habit is still to close the tab after downloading the ZIP.