Guide

Excel QR Code Generator: One Formula for One Code, or Five Hundred

Excel has no QR button. It doesn't need one. A single formula turns a column of links into a column of codes. Here's the =IMAGE() method, the add-in for older Excel, and how to get those codes out of the grid and onto paper.

QRBliss · TeamAug 18, 20268 min de lectura

Microsoft 365 Excel will turn a column of links into a column of QR codes with one formula. Drag it down and you have five hundred. Same catch as every Office method: each code is static, frozen the moment you print. Here's the formula, the fallback for older Excel, and what to do when the printed codes still need to work after a URL change.

Microsoft 365: one formula, bulk codes. Older Excel: QR4Office add-in. Codes that have to survive a URL change: generate them dynamic first, then paste them in.

If you searched "qr code generator microsoft excel," you already hunted the ribbon. There's nothing in Insert. Nothing in Data. Excel doesn't need a button, though. The formula is faster than a button would be. One code first, then five hundred, then the part Excel can't do.


The formula: one cell, one code

You need Microsoft 365 Excel (or Excel for the web). That's where the IMAGE function lives. Put a link in A2, then in B2:

=IMAGE("https://quickchart.io/qr?text=" & ENCODEURL(A2))

Press Enter. The code renders in the cell. Three pieces:

1/ ENCODEURL(A2) escapes your link so slashes and question marks don't break the request.

2/ The QuickChart QR API returns a PNG of the code.

3/ IMAGE() displays it in the cell, sized to fit.

Scan it with your phone right off the screen. It's a real code, not a preview.


The drag-down: five hundred codes before lunch

This is where Excel beats a point-and-click generator. Column A holds your links: one per asset tag, name badge, ticket, table card. Select B2, grab the fill handle, and drag down.

Every row computes its own code. Five rows or five hundred, same gesture.

Tune the output with API parameters:

# Bigger, with high error correction (survives print wear):
=IMAGE("https://quickchart.io/qr?text="&ENCODEURL(A2)&"&ecLevel=H&size=400")

# Brand-colored modules (keep them dark on light):
=IMAGE("https://quickchart.io/qr?text="&ENCODEURL(A2)&"&dark=003D5C&size=300")

Three things that bite people:

  • It needs a connection. IMAGE() fetches each code live. Offline, the cells go blank until you reconnect or paste the results as pictures.
  • The free QuickChart tier covers ~1,000 codes/month. A serialized run bigger than that needs a different pipeline (more below).
  • These are screen-resolution PNGs. Fine for handouts and badges. For a poster or anything glossy, export real files from a generator instead. The print sizing guide has the numbers.

Older Excel: the add-in fallback

A hand with a pen reviewing printed spreadsheet charts Photo: Lukas on Pexels

=IMAGE(...) returning #NAME? means your Excel predates the function. 2019, 2016, and earlier don't have it. The fix is QR4Office, the free official add-in: Insert ▸ Get Add-ins ▸ search "QR4Office" ▸ Add, then open it from Insert ▸ My Add-ins, paste your link, and insert.

One code at a time. No drag-down. The add-in has no idea your column of links exists. Right tool for a single code in a worksheet, wrong tool for a hundred. (The full add-in walkthrough, including Word and PowerPoint, lives in the Microsoft Office guide.)

And if you've heard about the Ctrl+F9 field-code trick (DISPLAYBARCODE "your-link" QR): that's Word. Field codes don't exist in Excel, so there's nothing to activate. In Excel the formula does the same job, and you can drag it down.


Getting codes out of the grid

A code in a cell is a live formula result, not a file. To use it anywhere else:

1/ Into Word (handouts, badge sheets): copy the cell, then in Word use Paste Special ▸ Picture. The code freezes as an image and survives the trip.

2/ A handout template: lay out a two-column table. Name in one column, pasted code in the other. Word's mail-merge handles the names; Excel's drag-down handled the codes. Between them you've built a badge printer out of office software.

3/ As standalone files: Excel can't export a cell image cleanly. If you need actual PNG/SVG files per code (print vendors usually do), generate them in a real QR tool instead of screenshotting cells one at a time.


The catch: every one of them is frozen

Same limit as every Office method. The formula writes each URL permanently into its pattern. Static codes. After the badges are printed:

→ URL changes → all five hundred badges now point at a 404 → No scan data → you'll never know if anyone used them → Fixing it → a full reprint, plus the laminating

For links that will never move (a homepage on letterhead), static is the right call and you're done. For event badges, campaign cards, anything with a shelf life, you want the pattern pointing at a redirect you control. Unsure which you need? Static vs dynamic, two-minute read.


Old way (formula only) vs. new way (codes you can steer)

Old way. The sheet bakes the final URL into every code:

→ One wrong link in column A → reprint run → Destination moves after print day → reprint run → "How many people scanned badge 47?" → nobody knows

New way. The sheet feeds a generator that makes editable codes:

  1. Export your link column as a CSV.
  2. Upload it to QRBliss bulk generation (Business plan). Every row becomes a dynamic code with its own short link, exported as real PNG/SVG files.
  3. Or for a handful of codes: make up to 15 dynamic codes free at QRBliss, no account needed to start, and paste them into the sheet like any image.
  4. URL changes later? Edit the redirect. The printed run keeps working. Nothing gets relaminated.

Scan counts by code, country, and device come with it. "Did the badges work?" becomes a column you can sort.


Excel vs. QRBliss

Excel =IMAGE() formulaQRBliss
CostFree (needs M365)Free tier
Bulk from a column/CSVYes (drag down)Yes (CSV upload, Business)
OutputIn-cell PNG (screen-res)Real PNG / SVG files
Editable after printNoYes — dynamic
Scan analyticsNoneCounts, country, device
Logo + brand colors in the codeColor params onlyYes — auto-palette
Works offline once placedAfter paste-as-pictureYes (files)

The recommendation

  • A few codes in a worksheet, links that won't change? The formula. Two minutes, zero installs.
  • Excel 2019 or older? QR4Office add-in, one code at a time.
  • A print run that has to survive a URL change, or that you want to measure? Generate dynamic codes at QRBliss (15 free), or feed the whole CSV to bulk generation and place the exported files.

📌 What's shifted from 2024 to 2026: the formula used to be a power-user trick. Now IMAGE() is in every Microsoft 365 tenant, so making five hundred codes is easy. The hard part is still what they point at after the print run ships.

For the full tool field, see the 7 best free QR code generators.


FAQ

How do I generate a QR code in Excel?

Microsoft 365 Excel: link in A2, then =IMAGE("https://quickchart.io/qr?text=" & ENCODEURL(A2)) in B2. Drag down for bulk. Older Excel: use the QR4Office add-in.

Why does my Excel QR formula show #NAME? or #VALUE!?

#NAME? means your Excel lacks the IMAGE function (it needs Microsoft 365 or Excel for the web). #VALUE! or a broken image means an empty URL cell, or quotes mangled by pasting from a formatted doc. Retype them in Excel.

Can Excel make QR codes offline?

Not while generating. IMAGE() fetches from the QuickChart API. After you paste results as pictures, the file is self-contained.

Does the Ctrl+F9 trick work in Excel like in Word?

No. DISPLAYBARCODE is a Word field code, and Excel has no field codes. The IMAGE() formula is Excel's equivalent, and it bulk-scales where the Word trick doesn't.

Are Excel-made QR codes static or dynamic?

Static. Destinations are baked in at generation, uneditable after print, no tracking. For editable, measurable codes, generate dynamic first and paste them in.


Drag the formula 📊 → Generate dynamic (free) → Paste, print, keep control ♻️

Crea tu primer QR en 9 minutos.

Plan gratuito. No requiere registro para empezar. Códigos dinámicos incluidos.

Crear un QR →