Skip to content
UseQR
ESC

↑↓ MOVE↵ OPEN48 PLACES

How-to guides

How to make a QR code in Excel

In Microsoft 365 Excel, =IMAGE("https://useqr.app/api/v1/qr?data="&ENCODEURL(A2)) renders a QR code in the cell; fill down for one per row. Older Excel versions lack IMAGE(), so use a VBA routine or upload the workbook to a bulk generator — UseQR reads .xlsx directly and works offline in the browser.

View as MarkdownPaste this page into any AI assistant — it is plain, portable Markdown.

1. The IMAGE() formula (Microsoft 365)

Excel's IMAGE() function — Microsoft 365 only, rolled out from 2022 — displays an image from a URL inside a cell. Point it at the keyless UseQR API and a cell becomes a QR code. With a link or any text in A2:

=IMAGE("https://useqr.app/api/v1/qr?data="&ENCODEURL(A2))

Fill down and every row gets its own code. ENCODEURL() (Excel 2013+) is essential — without it, payloads containing &, # or spaces truncate silently and the code encodes half your URL.

Optional refinements:

=IMAGE("https://useqr.app/api/v1/qr?size=300&data="&ENCODEURL(A2), "QR for "&A2, 1)

The second argument is alt text; the third is sizing mode (1 = fit cell, keep aspect). Codes need to stay square, so avoid mode 2 (fill).

2. Not on Microsoft 365? Your three options

Situation Route
Excel 2016/2019/2021, one-off codes Generate at UseQR, download PNG, Insert → Pictures
Older Excel, many codes, scriptable VBA that calls the API and places images
Any Excel, many codes, no code Save the workbook and upload it to the bulk tool — it reads .xlsx directly

The bulk route is usually the right answer for volume: it runs client-side in your browser (the workbook is never uploaded to a server), maps columns with merge fields, and returns a ZIP of files or Avery label sheets with every code decode-verified — the full walkthrough is QR codes from a spreadsheet.

3. Know what in-cell codes are for

IMAGE() cells are screen resolution — right for dashboards, pick lists, and quick sharing; wrong for print. Labels and packaging need files generated at 300 DPI or as SVG, which the bulk tool produces. Also:

  • Each cell fetches its image over HTTP; enormous sheets get throttled and show placeholder icons until retries land.
  • IMAGE() needs connectivity to display (the underlying QR payload is static and would keep working; the picture in the cell needs the fetch).
  • You cannot save an IMAGE() cell as a file — it is display only.

4. Typed payloads from columns

The API's typed endpoints compose from multiple columns — WiFi from SSID and password columns, UPI from a VPA column:

=IMAGE("https://useqr.app/api/v1/wifi?ssid="&ENCODEURL(A2)&"&password="&ENCODEURL(B2))

Pause before doing this with secrets: formula URLs send cell values to the API to render. For WiFi passwords and personal data, prefer the client-side generator or bulk tool, where data never leaves the browser.

5. Verify a sample

Scan two or three rendered cells straight off the monitor with a phone, or run one code's URL through the validator. For printed output, verify the exported files at final size — the bulk tool has already decode-verified them, but scan one physical print anyway.

Gotchas

  • #CALC! or a broken-image icon: usually a typo'd URL or a blocked connection — corporate proxies sometimes block image fetches from formulas.
  • Leading zeros: format serial columns as Text before building codes, or 00123 becomes 123 inside the payload.
  • Workbook recalculation re-fetches images; on metered or offline machines cells go blank. The bulk-file route has no such dependency.

Start with one formula cell, or take the whole workbook to the bulk tool.

FAQ

What is the Excel formula for a QR code?

In Microsoft 365: =IMAGE("https://useqr.app/api/v1/qr?data="&ENCODEURL(A2)). Fill it down for one code per row. Earlier Excel versions lack IMAGE() and need VBA or an external bulk tool.

Can I make QR codes in Excel without Microsoft 365?

Yes — either a VBA macro that fetches codes from a QR API, or save the .xlsx and upload it to a bulk generator. UseQR's bulk tool reads Excel files directly in the browser, free.

Are Excel IMAGE() QR codes good enough to print?

No — they render at screen resolution. For labels or packaging, generate real files at 300 DPI or SVG from the same spreadsheet using a bulk tool, then print those.

Why does my Excel QR code encode only part of the URL?

The payload was concatenated without ENCODEURL(), so characters like & were read as API parameters. Wrap every cell reference in ENCODEURL() inside the formula.

Try it — free, no signup

  • How to make a QR code in Google SheetsOne formula — =IMAGE("https://useqr.app/api/v1/qr?data="&ENCODEURL(A2)) — puts a live QR code in a cell. Fill it down and every row gets its own code.
  • How to make QR codes from a spreadsheetUpload the spreadsheet to the bulk tool — .xlsx works directly, no CSV export needed — map columns with merge fields, and download a ZIP of verified codes.
  • Generate a QR code in Excel VBAVBA QR patterns: Shapes.AddPicture straight from the keyless API URL, a loop over a range of cells, URLDownloadToFile for saved images.
  • How to make Avery labels with QR codesPick the Avery preset — 5160, 5163 or L7160 — in the sticker sheet or bulk tool and print the PDF at 100%. Exact label sizes, capacities and traps included.
  • A free QR code API with no keyUseQR's REST API needs no signup, no API key and no SDK. GET /api/v1/qr?data=hello returns a PNG. The shortest form is /q/hello.png, which drops straight…