All guides
Inventory guide

How to scan barcodes into Google Sheets for inventory

Barcode scans into Google Sheets three ways: a free Google Form, an Apps Script web app or a hosted scanner link, and what each costs to set up and run.

9 min readUpdated 4 October 2026

Short answer

Barcodes reach Google Sheets three ways: a free Google Form you paste scanned values into, a free Google Apps Script web app with a camera scanner you build yourself, or a hosted scanner link such as QR to Sheets that appends a row per scan.

A Google Form costs nothing and works for a few dozen items, but it has no camera scanner of its own and a submission attempted without signal is lost rather than queued.

QR to Sheets is free for the first 300 scans and then costs 7 USD per registered device per month, which earns its keep when several people count at once in a building with unreliable wifi.

Google Sheets is a genuinely good place to keep an inventory count. It is free, everyone already knows how to use it, and you can pivot or chart the result without exporting anything. The hard part is not the spreadsheet — it is getting a barcode off a physical item and into a row without someone typing thirteen digits by hand.

There are three practical ways to do it. This guide covers all three honestly, including the ones that cost nothing, so you can pick based on how many people are scanning and how much a lost scan actually costs you.

Method 1: a Google Form (free, best for simple cases)

A Google Form writes every submission straight to a Sheet, and it costs nothing. This is the right answer more often than software vendors like to admit.

  1. Create a form with one short-answer field per column you want (barcode, quantity, location).
  2. Under Responses, link the form to a Google Sheet.
  3. Open the form on a phone and bookmark it, or print its QR code so staff can reach it quickly.
  4. For each item, tap the barcode field and scan.

The catch: a Google Form has no camera scanner of its own. To fill the barcode field you either type the value, or scan with a separate app and paste it in. That is two apps and a paste per item, which is fine for fifty items and painful for five hundred.

Use a form when the volume is low, the people scanning are patient, and connectivity is reliable. It has no offline buffer, so a submission attempted with no signal is simply lost.

Method 2: an Apps Script web app (free, you own the code)

Google 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. Several excellent public tutorials walk through this, and the result is genuinely free and completely yours.

The trade is maintenance. You own the camera permission edge cases, iOS Safari quirks, in-app browser problems when someone opens the link inside a messaging app, duplicate suppression when a code sits in front of the lens, retry behaviour when the venue wifi drops, and Apps Script quota limits under concurrent use. None of that is hard in isolation. All of it together is a small project, and it tends to surface on the day of the count rather than during setup.

Choose this if you enjoy owning the code, or if policy prevents third-party services touching the data.

The third option is a hosted scanner that writes to your Sheet, where you configure it 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 counting. 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 matters when the people counting are temporary staff or a crew you will not see again next month. The warehouse and inventory scanning page shows the setup for stock counts.

Barcode Scanner to Google Sheets, No App: Full Tour with Pip (1:38, hosted by Pip). Pip tours method 3 in QR to Sheets: scanning from a phone's browser, repeat scans, lost signal, and one code filling several columns. It uses QR codes; barcodes scan the same way.Watch on YouTube Chapters and transcript

Comparing the three

Google Forms / Apps Script (DIY) compared with QR to Sheets
CapabilityGoogle Forms / Apps Script (DIY)QR to Sheets
CostFree (Form or Apps Script)Free to 300 scans, then $7 per device per month
Built-in camera scannerForm: no. Apps Script: yes, if you build itYes
Setup timeForm: 10 minutes. Apps Script: hours to daysUnder 5 minutes
Offline scanningNo buffer; a failed submit is lostSaved on device, syncs on reconnect
Several people at oncePossible, but no per-person accountabilityOne device licence per scanner
Duplicate suppressionYou build itCode must leave the frame before re-accepting
Who maintains itYouHosted
Data ownershipYour SheetYour Sheet

Getting the row right, whichever method you pick

This is the part that determines whether the count is usable afterwards, and it is independent of tooling.

Formula injection is worth a thought if barcode values come from outside your business. A value starting with an equals sign can be interpreted as a formula by a spreadsheet. Write values as raw text rather than letting them be parsed.

A realistic recommendation

If you are counting a few dozen items occasionally, use a Google Form and keep the money. If you want to own the stack and have time, build the Apps Script version. If several people need to scan at once, on their own phones, in a building with unreliable wifi, and a redone count costs you a day, a hosted scanner link earns its keep — and that is the honest boundary between free and paid here.

Step by step

  1. 1

    Decide what one scan means

    Before any setup, write down the row you want. For a stock count that is usually barcode, quantity, location, who scanned, and when. Getting this wrong is the most common reason a count has to be redone.

  2. 2

    Create the spreadsheet and header row

    Make a Google Sheet with one column per field. Keep the header row exactly one row and avoid merged cells, because every scanning method appends by position and merged cells break that.

  3. 3

    Choose your capture method

    A Google Form for the simplest cases, an Apps Script web app if you want to own the code, or a hosted scanner link if several people scan at once and you need offline handling.

  4. 4

    Test with ten real items before the real count

    Scan ten items you can verify by hand. Check the values landed in the right columns, that a duplicate scan behaves the way you expect, and that the timestamp is in a timezone you can read.

  5. 5

    Run the count with more than one person

    Split by aisle or shelf. If your method only allows one device, this is the point where it stops scaling and you will feel it.

Frequently asked questions

Can Google Sheets scan barcodes on its own?+

No. The Google Sheets mobile app has no barcode scanner. You need something that captures the code and writes a row: a Google Form you paste into, an Apps Script web app you build, or a hosted scanner that appends to the Sheet.

Is there a completely free way to scan barcodes into Google Sheets?+

Yes. A Google Form linked to a Sheet is free, and an Apps Script web app with a JavaScript barcode library is free. Both work. The limits are no offline buffer, no device control, and you maintain the Apps Script version yourself.

Which barcode types can a phone camera read?+

Browser-based scanners typically read QR codes plus common 1D formats including Code 128, Code 39, EAN-13, EAN-8, UPC-A, UPC-E and ITF. 1D barcodes are more prone to misreads on blurry frames, so a good scanner confirms a 1D read across consecutive frames before accepting it.

What happens to scans if the wifi drops mid-count?+

That depends entirely on the method. A Google Form submission with no connection fails and is lost. A well-built scanner saves each scan to the device first and syncs when the connection returns, so counting continues uninterrupted.

Do my staff need to install an app?+

Not with any of the three methods described here. All of them run in a phone browser. That is the main reason to prefer a browser approach for temporary or rotating staff.

Try it on your own Google Sheet

Connect Google, create a scanner link, and share the URL with your team. The free tier covers 300 scans, and nobody you share it with has to install anything.

Start for free

No credit card required

Keep reading