Skip to content
UseQR
ESC

Jump to

MOVEOPEN50 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 Sheets, One 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 spreadsheet, Upload 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 VBA, VBA 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 codes, Pick 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 key, UseQR'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…