How-to guides
How to make a QR code in Google Sheets
Put =IMAGE("https://useqr.app/api/v1/qr?data="&ENCODEURL(A2)) in a cell and a QR code for A2's contents appears. Fill the formula down and every row gets its own code, no add-on, no signup. ENCODEURL keeps special characters safe; use IMAGE mode 4 for exact pixel sizing.
1. The formula
With a URL (or any text) in A2, put this in B2:
=IMAGE("https://useqr.app/api/v1/qr?data="&ENCODEURL(A2))
A QR code for A2's contents renders in the cell. That is the whole trick: the
keyless API returns a PNG for whatever
data= carries, and Sheets' IMAGE() displays any image URL. No add-on, no signup, no
script.
ENCODEURL is not optional. Without it, a payload containing &, #, + or spaces
silently truncates, https://example.com/page?a=1&b=2 becomes a code for
https://example.com/page?a=1. Encoding the cell value keeps every character intact.
2. Fill down for a whole column
Drag the fill handle (or copy B2 down) and every row gets its own code, a hundred
product URLs become a hundred QR codes in seconds. Make the rows taller and the column
wider to see them; by default IMAGE() fits the cell.
For exact sizing, use mode 4 with pixel dimensions, and ask the API for matching resolution:
=IMAGE("https://useqr.app/api/v1/qr?size=300&data="&ENCODEURL(A2), 4, 150, 150)
3. Know the limits of in-cell codes
Honest caveats before you build a workflow on this:
- Each cell is one HTTP fetch. A thousand-row sheet makes a thousand image requests; Sheets throttles and shows some cells as broken images until it retries. Hundreds of rows: fine. Many thousands: use the bulk tool instead.
- Screen resolution only. In-cell images are for viewing and quick sharing. For printing (labels, posters, anything physical) export real files at print resolution via the bulk workflow, which also decode-verifies every code.
- You cannot right-click-save an
IMAGE()cell as a file. The formula is display, not export. - The sheet re-fetches images on some reopens: a static code's payload never changes, but you need connectivity for the images to display.
4. Typed codes, not just URLs
The API has typed endpoints, so a sheet can build WiFi codes from an SSID column or UPI codes from a VPA column:
=IMAGE("https://useqr.app/api/v1/wifi?ssid="&ENCODEURL(A2)&"&password="&ENCODEURL(B2))
One thing to weigh first: cell values in a formula URL are sent to the API to render. UseQR logs nothing, but a spreadsheet of WiFi passwords leaving the sheet at all deserves a moment's thought, for sensitive payloads, generate client-side in the generator or bulk tool, where data never leaves the browser.
5. Verify a sample
Scan a few rendered cells straight off the monitor (that works fine), or paste one code's URL into the validator. For anything headed to print, verify the exported files, not the cells.
Gotchas
- Apostrophe-prefixed cells (
'0012) encode with the apostrophe stripped by Sheets before the formula sees it, usually what you want, but check serials. #ERROR!in the cell usually means unbalanced quotes in the formula; the URL must be one quoted string concatenated with&.- Automation: for scripted generation, exports or scheduled refreshes, use Apps Script rather than formula gymnastics.
Try it with one cell now, or run the whole sheet through the bulk tool when you need files.
FAQ
What is the Google Sheets formula for a QR code?
=IMAGE("https://useqr.app/api/v1/qr?data="&ENCODEURL(A2)), replace A2 with the cell containing your link or text. Fill down to generate a code per row. It is free and keyless.
Why does my Sheets QR code cut off part of the URL?
The payload was not URL-encoded, so characters like & split the API request. Wrap the cell reference in ENCODEURL() and the full value encodes correctly.
Can I print QR codes straight from Google Sheets?
Printing the sheet prints screen-resolution images: acceptable for a quick internal list, wrong for labels or marketing. Export proper files through a bulk generator at 300 DPI instead.
How many QR codes can a sheet hold?
Each IMAGE() cell is a separate fetch, and Sheets throttles large batches, hundreds work smoothly, thousands get flaky. Past that, generate files in bulk rather than in cells.
Try it: free, no signup
Related
- How to make a QR code in Excel, In Microsoft 365, =IMAGE("https://useqr.app/api/v1/qr?data="&ENCODEURL(A2)) renders a QR code in a cell. Older Excel needs VBA or an offline bulk tool.
- 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.
- How to make a QR code in Google Docs, Insert → Image → By URL with a UseQR API link puts a QR code in a Google Doc in one step, no download, no upload. Docs stores its own copy of the image.
- 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…
- Generate a QR code in Google Apps Script, Apps Script QR patterns: UrlFetchApp against the keyless API, saving to Drive, filling a Sheets column with codes, and trigger-driven regeneration.