← ExcelToQR generator
Home › Guides › How to add QR codes to Excel

How to add QR codes to an Excel spreadsheet

Excel has no built-in QR code function. The fastest way to get a scannable code onto every row is to generate the codes from your column data and embed them back into the workbook as images — which takes about three minutes for a file of any size, with no macros, add-ins or barcode fonts involved.

Open the Excel to QR generator →

Before you start: prepare the sheet

Two things matter, and getting them wrong causes most of the problems people hit later.

Blank rows are skipped automatically — if the selected columns are all empty for a row, no code is generated for it rather than an empty code being produced.

Step 1 — Decide what goes inside the code

This is the only decision that really matters, and it is worth a moment's thought. A QR code is not a database lookup: whatever you encode is the entire content of that code, readable by anyone who scans it. So encode the minimum that makes the code useful.

A common mistake is encoding every column "just in case". That produces dense, slow-scanning codes full of data nobody reads. If your scanning system can look records up by ID, encode only the ID.

Step 2 — Upload the file

Drag the .xlsx onto the generator, or click to browse. The header row is parsed immediately and each column appears as a checkbox, so you can confirm the file was read the way you expected before generating anything.

Step 3 — Pick the columns and the content format

Tick every column you want inside the code. If you select several, their values for that row are combined into one code. The format controls how they are combined:

Format Encoded result Use when
Normal E-1042 | Priya Sharma | Finance A person scans with a phone camera and reads the text
JSON {"ID":"E-1042","Name":"Priya Sharma"} An app or script parses the scan into fields
CSV E-1042,Priya Sharma,Finance Scanning software expects delimited values
Pick JSON if software will read the codes. It is slightly longer, but the fields stay individually addressable, so you never have to split a string and guess which fragment was the department. Pipe-separated text is fine for humans and painful for parsers.

Step 4 — Generate and download

The generator adds a new column called QR Code at the end of your sheet, renders one QR image per row, and anchors each image to its own cell. Row heights are adjusted so the codes sit cleanly inside their cells instead of overlapping.

The download keeps your original filename with __QR appended, so staff-list.xlsx comes back as staff-list__QR.xlsx. Everything else in the sheet is untouched.

Printing the codes so they actually scan

Codes are generated at error-correction level H, the highest of the four levels, meaning roughly 30% of the code can be damaged and still read correctly. That buys a lot of tolerance for scuffed badges and worn labels, but it does not rescue bad printing. Three rules cover almost every scanning failure:

  1. Size. Keep printed codes at least 2 × 2 cm. Below that, phone cameras struggle even with perfect contrast.
  2. Contrast. Pure black on white. Coloured or inverted codes look nice and scan badly.
  3. Quiet zone. Leave clear white space around each code, roughly the width of four modules. Codes butted against a border are a frequent cause of failures.

Why not a macro, add-in or barcode font?

All three are common suggestions, and each has a real cost:

Embedding plain PNG images sidesteps all of this — the resulting file is an ordinary spreadsheet that opens anywhere, including LibreOffice and Google Sheets.

Frequently asked questions

Does Excel have a built-in QR code generator?

No. Excel has no native QR function. The usual workarounds are a VBA macro, a paid add-in, or a barcode font, all of which have drawbacks. Generating the codes outside Excel and embedding them as images avoids all three.

Why will my QR code not scan?

The three common causes are printing the code too small, low contrast between the code and its background, and no quiet zone. Keep printed codes at 2 cm or larger, print pure black on white, and leave clear white space around each code.

Can I use a barcode font instead?

Not for QR codes. Barcode fonts work for linear formats such as Code 39 because those encode one character per glyph. QR codes are two-dimensional matrices and cannot be produced by a font.

Will the QR images survive sorting and filtering?

Each image is anchored to its own cell, so it moves with its row when the sheet is sorted. Very large images spanning several rows can behave unpredictably, which is why the row height is set to match the code.

How much data can one QR code hold?

A QR code can hold up to about 4,296 alphanumeric characters in theory, but at high error correction and small print sizes the practical limit is far lower. Keeping the encoded text under roughly 300 characters keeps codes easy to scan.

Try it with your own spreadsheet →