The short answer: a QR code by itself does not write anywhere. Something has to read the code and then append a row. There are four established ways to do that with Google Sheets, and the right one depends almost entirely on who is holding the phone.
Method 1: a dedicated mobile scanner app
Install an app built for scanning into spreadsheets, link it to your Google account, choose a sheet, and scan. Several exist on both iOS and Android, including Scan to Sheets and Scan-IT to Office. How a browser scanner link compares with the Scan to Sheets app sets out where each one wins.
- Good raw scanning ergonomics, since the app owns the camera.
- Usually the fastest option for one person scanning a lot of items.
- The cost: every person who scans must install the app, and in most of these tools link their own Google account. On shared devices that link can drop and need re-establishing.
Method 2: a Google Form linked to a sheet
Create a form with a field per column, link it to a sheet under Responses, and open the form on a phone. Free, no setup beyond the form, and it genuinely works.
- Completely free and nothing to maintain.
- A form has no camera scanner of its own, so you scan with the phone camera or another app and paste the value in. That is fine for fifty items and painful for five hundred.
- No offline buffer. A submission attempted with no signal fails and is lost rather than queued.
- Self-reported, so for attendance or anything with a consequence attached, anyone with the link can submit for anyone else. Google Forms versus a scanner link goes deeper on when a form is enough.
Method 3: a Google Apps Script web app
Apps Script can host a small web page with a real camera scanner in it, usually by pulling in a JavaScript barcode library, and append rows directly to your sheet. Free, fully yours, and several good public tutorials walk through it.
- You control every field, every validation rule, and the whole layout.
- No third party holds your data or your credentials.
- The trade is maintenance: camera permission edge cases, iOS Safari quirks, in-app browser problems, duplicate suppression, retry behaviour when wifi drops, and Apps Script quotas under concurrent use. None of it is hard alone; together it is a small project, and it usually surfaces on the day you need it to work.
Method 4: a shareable scanner link
A hosted scanner where you configure the destination once and share a URL. This is what QR to Sheets does, so treat this section as interested but specific.
You connect a Google Sheet, create a scanner link, and send the URL to whoever is scanning. They open it in a phone browser, allow the camera once, and scan. Every scan appends a timestamped row. Nobody installs an app or creates an account, which is the whole point when the people scanning are students, temporary staff, or a crew you will not see again next month.
What about a USB or Bluetooth barcode scanner?
A hardware scanner acts as a keyboard: click a cell, scan, and the value appears and the cursor moves down. Nothing writes to the sheet except that typing, so the sheet must be open with the right cell selected, but at a fixed desk it is genuinely excellent and people overlook it.
- Very fast and very reliable for high volume at one desk.
- No app, no account and no browser involved.
- Tethered to a computer, so it cannot walk the aisles or work a door.
- One scanner, one station: it does not scale to a team spread across a site, and it records no timestamp unless you add one with a formula or a script.
Comparing all four
| Capability | Google Forms / Apps Script (DIY) | QR to Sheets |
|---|---|---|
| Cost | App: often $5-13/mo. Form and Apps Script: free | Free to 300 scans, then $7 per device per month |
| Built-in camera scanner | App: yes. Form: no. Apps Script: if you build it | Yes |
| Scanners need an install | App: yes. Form and Apps Script: no | No |
| Scanners need an account | App: usually. Form: no | No |
| Works with no signal | App: sometimes. Form: no | Buffered on device, syncs later |
| Who maintains it | App: vendor. Apps Script: you | Hosted |
| Where the data lives | Your Google Sheet | Your Google Sheet |
A straight recommendation
- Scanning a few dozen items yourself, occasionally: use a Google Form and keep the money.
- One person scanning high volume regularly: a dedicated mobile app is likely the most comfortable.
- One fixed desk, high volume: a USB scanner typing into a cell.
- You want to own the code, or policy forbids third-party services: build the Apps Script version.
- Several people scan, they should not need accounts or installs, and connectivity is unreliable: a scanner link is the fit.
Whichever you choose: store barcode values as text rather than numbers. Long numeric codes lose leading zeros and can hit float precision problems, which produces mismatches that waste an afternoon.
Three things that go wrong whichever method you pick
Overwriting instead of appending
Append one row per scan and derive totals with a formula or a pivot table. A single overwritten quantity column cannot tell you when a discrepancy appeared, who counted a shelf, or whether something was counted twice.
Timestamps in the wrong timezone
Many tools write UTC. If your team works six hours behind UTC, every row is six hours off and every daily report straddles the wrong boundary. Check what timezone your tool writes, and whether you can change it, before you build reports on it; why Google Sheets timestamps show the wrong timezone walks through each cause.
Timestamps stored as text
If a timestamp arrives in a format Google Sheets does not recognise as a date, such as a raw ISO string ending in Z, the column is stored as text, and sorting, date filters and formulas quietly fail on it. Test by sorting the column: if it sorts alphabetically rather than chronologically, it is text. A format like 2026-08-22 10:01:54 is read as a real date and time.
Step by step
- 1
Decide who is doing the scanning
If it is only you, almost any method works and you should pick the free one. If other people scan — staff, students, volunteers, contractors — then whether they need an app or an account becomes the deciding factor.
- 2
Prepare the destination sheet
One column per field, exactly one header row, no merged cells. Format the code column as plain text so long numeric barcodes keep their leading zeros.
- 3
Pick a method from the four below
They differ mainly on who can scan, whether it survives a dropped connection, and how much you maintain yourself.
- 4
Test with five real items before you rely on it
Check the values land in the right columns, that a repeat scan behaves the way you expect, and that the timestamp is in a timezone you can read.
Frequently asked questions
Can Google Sheets scan a QR code by itself?+
No. The Google Sheets mobile app has no barcode or QR scanner. Something else must read the code and append the row — a scanner app, a form you paste into, an Apps Script web app, or a hosted scanner link.
How do I make a QR scan appear in Google Sheets automatically?+
Use a tool that writes to the sheet for you rather than one that only decodes the code. A dedicated mobile app, an Apps Script web app, or a shareable scanner link all append rows automatically. Scanning with the plain phone camera does not, because it only shows you the value.
Is there a free way to do this?+
Yes, two. A Google Form linked to a sheet is free, and an Apps Script web app with a JavaScript barcode library is free. The limits are no offline buffer in the form case, and self-maintenance in the Apps Script case.
Do the people scanning need to install an app?+
It depends on the method. Dedicated mobile apps require an install for every scanner, and usually a linked Google account each. Google Forms, Apps Script web apps, and hosted scanner links all run in a browser with nothing to install.
What happens to scans when the phone loses signal?+
A Google Form submission fails and the data is lost. Tools that save each scan to the device first keep working through dead zones and sync when the connection returns. Ask about this specifically — in a warehouse or a basement venue it is the difference between a delay and a lost count.
Which barcode formats can a phone camera read?+
QR codes plus the common 1D formats: Code 128, Code 39, EAN-13, EAN-8, UPC-A, UPC-E and ITF. 1D barcodes are more sensitive to focus and lighting than QR codes, so a good scanner confirms a 1D read across consecutive frames before accepting it.
Is there a scan to Google Sheets app, or can it work in the browser?+
Both exist. App Store products such as Scan to Sheets from Mobile First require an install — their listing states 130.6 MB and iOS 15.0 or later, read on 2026-09-08 — which suits a phone you own and use daily. A scanner link runs in the phone browser instead, so temporary staff and volunteers scan without installing anything or making an account. Pick the install if you need long offline stretches or Bluetooth hardware; pick the browser if the people scanning are temporary or numerous.
What is the fastest way to scan into Google Sheets?+
For a fixed desk, a USB barcode scanner typing straight into a cell is hard to beat. For people moving around, a browser-based scanner link is fastest because there is no field to tap before each scan and nothing to install.