QR codes have become essential tools for businesses and individuals alike, providing a quick bridge between physical materials and digital content. But what if you need to create dozens or even hundreds of unique QR codes for your project? Paying for a premium QR generator or tediously creating them one by one isn’t ideal.
Good news: you can generate QR codes in Google Sheets—for free. Using Quickchart.io’s API integration, you can create single or multiple QR codes without installing any add-ons or extensions. This method is perfect for creating product QR codes, event tickets, inventory systems, or any project requiring batch QR code generation.
Table of Contents
Why Create QR Codes in Google Sheets?
- Efficiency: Generate hundreds of QR codes as fast as you can drag a formula.
- Automation: Update the data in your sheet, and the corresponding QR code can update automatically (it regenerates when the sheet loads/calculates).
- Centralization: Keep your source data and the scannable QR codes together in one organized place.
- Cost-Effective: The method we’ll use relies on free tools (
IMAGE
function and QuickChart.io’s generous free tier). - Versatility: Perfect for inventory tags linking to product pages, event badges with attendee info, marketing campaigns tracking URL scans, sharing Wi-Fi details, creating digital business cards (vCards), and much more.
Introducing QuickChart.io: Your Free QR Code Engine
QuickChart.io is a fantastic web service that generates various charts and, importantly for us, QR codes simply by crafting a URL. You tell it what data to encode and any formatting options via URL parameters, and it returns an image.
The beauty of this approach is that Google Sheets’ IMAGE
function can directly display images from URLs. By constructing the right QuickChart.io URL within our formula, we can make Google Sheets fetch and display the corresponding QR code image right in a cell. It’s a free QR code generator in your sheet, no add-ons are needed!
The basic formula for creating QR codes in Google Sheets
Here we use the Google Sheets IMAGE
function to display the QR code image returned by from the QuickChart. So, we can use the basic formula given below.
=IMAGE("https://quickchart.io/qr?text=" & ENCODEURL(A2))
"https://quickchart.io/qr?text="
: This is the fixed part of the QuickChart URL, telling it we want a QR code.- ENCODEURL(A2): This takes the data from cell A2 (e.g., “https://bpwebs.com“) and encodes it properly.
- ENCODEURL() function takes your data and makes it safe to include in a URL, converting spaces and special characters (like &, ?) into their URL-friendly equivalents (e.g., %20 for space). Never skip this step!
&
: The ampersand joins the base URL with your encoded data.IMAGE(...)
: The wrapper function that displays the resulting QR code image generated by the full URL.

Create Multiple QR Codes Instantly with the Fill Handle
Once your data is organized in the sheet and you’ve entered the specific QR code formula next to the first item, simply drag the cell’s fill handle downwards. This action automatically copies the formula, adjusting the cell references for each row, and generating your entire list of unique QR codes in just seconds.

Customizing Your QR Codes with QuickChart.io (Optional Advanced)
QuickChart.io allows basic customization by adding more parameters to the URL (use ampersand [&] to separate them after the encoded text):
The following table tabulates the optional parameters you can use to customize the default QR code.
Parameter Name | Description | Default value |
---|---|---|
format | Format of QR code, either png, svg, or base64 | png |
margin | Whitespace around QR image | 4 |
size | Width and height dimension of the image | 150 |
dark | Hex color code of “dark” QR grid cells | 000000 (black) |
light | Hex color code of “light” QR grid cells | ffffff (white) |
ecLevel | Error correction level (L, M, Q, H) | M (H if center image is present) |
centerImageUrl | URL of image to show in the center. Must be URL-encoded. | |
centerImageSizeRatio | How much space to take up, between 0.0 and 1.0 | 0.3 |
centerImageWidth | Width of center image in pixels | |
centerImageHeight | Height of center image in pixels | |
caption | Caption text to display below the QR code. | |
captionFontFamily | Font family of the caption text | ‘sans-serif’ |
captionFontSize | Font size of the caption text in pixels. | 10 |
captionFontColor | Color caption text, color names or hex code. | black |
Example usage of the optional parameters to customize the QR code
Let’s see some examples of how you can use the above optional parameters to change the appearance of the QR code. You can combine these optional parameters with the above basic formula using the ampersand (&).
The “Size” parameter
the size
parameter gives you direct control over the resolution (in pixels) of the QR code image generated by QuickChart.io, allowing you to tailor it for display within Google Sheets, printing, or specific scanning needs.
You can utilize the size parameter as demonstrated below.
=IMAGE("https://quickchart.io/qr?text=" & ENCODEURL(A2)&"&size=400")
The Center Image
You can include a small image or logo in the center of your QR code, primarily serving as a visual cue for branding or identification. This customization is feasible thanks to the QR code’s inherent error correction capabilities, which allow the code to function even when a portion is obscured by the central image.
To do that, you can use the “centerImageUrl” parameter, as shown in the following example.
=IMAGE("https://quickchart.io/qr?text=" & ENCODEURL(A2)&"¢erImageUrl="&ENCODEURL(B2))

The Grid cells’ color
Quickchart.io’s API enables customization of QR code grid cells through the “dark” and “light” parameters, allowing any hex color combination beyond standard black and white. While maintaining sufficient contrast is essential for reliable scanning, this feature lets businesses create branded QR codes that align with their visual identity.
You can use the light and/or dark parameters as given in the following examples.
=IMAGE("https://quickchart.io/qr?text=" & ENCODEURL(A2)&"&dark=FF0000")
=IMAGE("https://quickchart.io/qr?text=" & ENCODEURL(A4)&"&dark="&B4&"&light="&C4)

The caption
To add a caption to a QR code in Google Sheets using Quickchart.io, you can use the “caption” parameter in your formula. Simply add “&caption=Your Caption Text” to your existing QR code formula like this:
=IMAGE("https://quickchart.io/qr?text="
&ENCODEURL(A2)&"&caption=bpwebs.com")

These examples showcase various QR codes you can generate using the QuickChart API. By applying the parameters from the table above, you can customize your QR codes to meet your specific requirements.
Real-World Use Cases for generating QR Codes in Google Sheets
- Inventory management – Generate QR codes for product pages or datasheets to label items in warehouses or stores.
- Invoices or receipts – Create QR codes for payment links or digital copies of receipts, one for each transaction.
- Student or employee ID tags – Bulk-generate personalized QR codes linking to individual profiles or ID records.
- Event or training check-ins – Produce QR codes for attendees that connect to unique registration or check-in links.
- Feedback forms or surveys – Generate separate QR codes for location- or session-specific Google Forms.
- Learning resources by class or topic – Create QR codes linking to worksheets, quizzes, or study materials for each subject.
- E-commerce product packaging – Add QR codes to packages linking to how-to guides, thank-you pages, or reviews.
- Asset tagging – Label office equipment, books, or tools with QR codes pointing to tracking or catalog URLs.
- Membership or loyalty cards – Generate codes linking to member profiles or discount pages for loyalty programs.
- Lab samples or test kits – Create QR codes for each sample or test to help track results in a database.
Wrapping Up
Generating QR codes in Google Sheets using Quickchart.io provides a powerful, flexible, and completely free solution for all your QR code needs. Whether you’re generating a single code or thousands, this method integrates seamlessly with your existing data workflows.
The ability to create dynamic QR codes that update automatically makes this approach superior to many dedicated QR code generators, especially for projects requiring frequent updates or large batches of codes.
Get started today by copying our formulas into your Google Sheet—no sign-ups, installations, or special software required. Just your existing Google Sheets knowledge and a few simple formulas are all you need to become a QR code power user!