Search for a free barcode scanner for Google Sheets inventory and you get two kinds of result: app store listings that are free to install but not free to use past a row limit, and tutorials for building your own. Both can be the right answer. Which one depends almost entirely on how many people are scanning and whether they have signal.
This guide covers the free routes properly, because for a lot of readers a free route is genuinely the correct choice. We build a paid tool in this category, and that bias is disclosed where it is relevant rather than hidden.
Route 1: a Google Form
Free, permanent, and available in about four minutes. Make a Form with a short-answer question, link responses to a Sheet, open the Form on a phone and tap the field. Most phone keyboards can invoke a scanner, and on Android the Google Lens button in the keyboard reads a barcode straight into the field.
- Genuinely free with no row cap and no trial.
- Data lands in a Sheet you already own.
- Anyone with the link can submit, with no account.
- Breaks with no signal: a submission fails and that scan is simply gone.
- One form per workflow, and respondents can edit their own responses unless you lock it down.
- Every submission needs a tap into the field first, which is slow across a few hundred items.
The offline failure is the one that catches people out. Stockrooms, basements and metal-racked warehouses are exactly where signal dies, and a Form gives no warning that a submission was lost.
Route 2: an Apps Script web app
Also free, and far more capable. A small HTML page hosted by Apps Script, a JavaScript barcode library for decoding, and a script that appends to your Sheet. You control the whole thing and pay nothing beyond your existing Google account.
- No per-user cost, ever, and no vendor to depend on.
- You can build exactly the flow you want, including offline queueing if you write it.
- You are now maintaining software. Camera permissions, iOS quirks and library updates become yours.
- Apps Script quotas apply, and debugging a failure while a count is happening is nobody's idea of a good afternoon.
This is the right call if you enjoy the work or already maintain scripts. It is the wrong call if the person who built it leaves and the stocktake still has to happen in April.
Route 3: free tiers of scanner apps
Plenty of mobile apps offer a free tier that writes to Sheets. Read the specific limit rather than the word free, because the limits differ in kind, not just size.
- Row or scan caps that stop mid-count, which is the worst possible moment to discover them.
- Per-user pricing after the free seat, so a second scanner costs as much again.
- Google Sheets integration gated behind a paid tier while the free tier exports CSV only.
- An install and often a linked Google account for every person scanning, which is the real cost with temporary staff.
Check whether the Sheets integration itself is on the free tier. It is common for a free plan to scan happily and then only offer a manual export, which is not the same thing at all.
Route 4: a hosted scanner link
This is the category we build, so treat this section as informed and interested. The model is that the admin connects a Sheet once and shares a URL; whoever is scanning opens it in a normal phone browser with no install and no account. Scans are saved on the device first and sync when signal returns.
It is worth understanding the pricing shape rather than the number, because it is what differs. QR to Sheets is free for 300 scans, one link and one device, then $7 per registered device per month with unlimited scans. Per-device means thirty temporary staff sharing four phones costs the same as four people. Tools priced per user charge for every person instead, which is the expensive shape for casual and seasonal labour.
| Capability | Google Forms / Apps Script (DIY) | QR to Sheets |
|---|---|---|
| Cost to start | Free (Form or Apps Script) | Free for 300 scans |
| Works with no signal | Form: no. Apps Script: only if you build it | Saved on device, syncs later |
| Install for scanners | None | None |
| Account for scanners | None | None |
| Multiple scanners at once | Yes, but no per-device attribution | Yes, per-device records |
| Who maintains it | You | Vendor |
| Where data lives | Your Google Sheet | Your Google Sheet |
How to choose in one minute
- One person, occasional counts, always in signal: use a Google Form and stop reading.
- You maintain scripts and want zero vendors: build the Apps Script web app.
- Several people scanning, or dead spots in the building, or you need to know who scanned what: a hosted scanner link earns its cost.
- Thousands of items and a barcode-heavy operation: consider a real inventory system rather than a spreadsheet.
The mistake that costs the most
Overwriting quantities instead of appending scans. It feels tidier and it destroys everything useful: you can no longer tell when a discrepancy appeared, who counted a shelf, or whether an item was double-counted. Append one row per scan and derive the totals. Storage is free; history is not recoverable once you have thrown it away.
Step by step
- 1
Decide what one scan has to mean
A stock count, a goods-received line, or a movement between locations. The three need different sheets, and picking later means re-keying. Write the sentence down before choosing a tool.
- 2
Try the genuinely free route first
A Google Form with a short-answer field, opened on a phone, is free forever and works today. If your counts are small, occasional and always in signal, you may not need anything else.
- 3
Find your breaking point
Count how many people scan, whether they are in signal, and whether you need to know who scanned what. Those three answers, not features, decide whether free is enough.
- 4
Keep the sheet append-only
One row per scan, never edited. Derive current stock with a pivot or a formula. Overwriting a quantity column destroys the audit trail that makes a count defensible.
- 5
Test with a dead phone signal
Turn on airplane mode and scan five items. Whatever happens next is what will happen in your stockroom, and it is the single most useful five minutes of evaluation.
Frequently asked questions
Is there a genuinely free barcode scanner for Google Sheets?+
Yes. A Google Form linked to a Sheet is free with no row cap, and an Apps Script web app with a JavaScript barcode library is free too. The Form loses scans with no signal, and the Apps Script route means you maintain the code. Neither has a hidden limit.
Why do free scanner apps stop being free?+
Usually a scan or row cap, per-user pricing after the first seat, or the Google Sheets integration itself being reserved for a paid tier while the free tier only exports CSV. Read the specific limit rather than the word free.
Can several people scan into the same Google Sheet at once?+
Yes with every route here. The difference is attribution: a shared Form cannot tell you which person submitted which row unless you add a field they might mistype, whereas per-device tools record it automatically.
What happens to a scan when the phone has no signal?+
With a Google Form the submission fails and the scan is lost with no warning. Tools that write to the device first keep working and sync later. Test this with airplane mode before you commit to anything.
Should I track stock levels or stock movements?+
Movements. Append one row per scan and derive the current level with a formula or pivot. A single overwritten quantity column cannot tell you when a discrepancy appeared or who counted what.
Do I need barcode labels, or can I use what is already on the box?+
Manufacturer barcodes work fine for retail goods and are one less thing to print. Print your own only for items with no barcode, or where you need an internal ID that survives repackaging.