Google Sheets QR Code

Use Google Sheets to manage rows of URLs, product IDs, event tickets, or contact data and generate QR codes in a repeatable spreadsheet workflow.

Why teams build QR code workflows in Sheets

Google Sheets is often the simplest operational database a team already has. If marketing, operations, events, or inventory teams are already maintaining rows of records there, a spreadsheet-driven QR workflow can be faster to launch than building a separate dashboard from scratch.

Three common implementation paths

Approach Best for Tradeoff
Image formula Quick internal previews Limited control and weaker production workflows
Apps Script Automation, exports, document generation Needs script maintenance
API plus Sheets Large-scale or dynamic QR code systems Requires external service design

Simple formula-based example

If a QR endpoint returns an image for a given URL, you can preview QR codes directly inside a sheet.

=IMAGE("https://api.qrcodegeneratorjp.com/v1/image?data=" & ENCODEURL(A2) & "&size=200")

That approach is fast for prototypes, but for printing, tracking, or controlled batch output, Apps Script is usually stronger.

Apps Script example

This pattern reads rows from a sheet and writes a QR image URL into a new column.

function buildQrLinks() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('QR Data');
  const lastRow = sheet.getLastRow();
  const values = sheet.getRange(2, 1, lastRow - 1, 1).getValues();

  const output = values.map(([value]) => {
    if (!value) return [''];
    const encoded = encodeURIComponent(value);
    const imageUrl = `https://api.qrcodegeneratorjp.com/v1/image?data=${encoded}&size=300`;
    return [imageUrl];
  });

  sheet.getRange(2, 2, output.length, 1).setValues(output);
}
Tip: Store source data in one column and QR outputs in another. That keeps audits and re-generation easier later.

Good Google Sheets QR code use cases

If every row needs its own destination, make sure your sheet includes a stable unique identifier and not only a display label.

What to watch for