Skip to content
LightInventory

Google Sheets limits for inventory

The Google Sheets cell, sharing, version, IMPORTRANGE, API and Apps Script limits that matter for inventory, each with its official source and what to do near it.

Last updated October 28, 2026

A Google Sheets spreadsheet can hold up to 20 million cells or 100MB. For most inventory files the practical limits arrive earlier: how many people can edit at once, how much data IMPORTRANGE can move, and API quotas for tools that write to the sheet. Every limit below is quoted from Google's own documentation as checked on 2026-10-28.

Limits at a glance

AreaLimitSource
Spreadsheet sizeUp to 20 million cells or 100MB for spreadsheets created in or converted to Google SheetsFiles you can store in Google Drive
Cell limit changeRaised from up to 10 million to up to 20 million cells; applies to new, existing and imported filesGoogle Workspace Updates, September 10, 2026
Characters in a cell (Excel conversion)When you convert an Excel file, any cell with more than 50,000 characters is removedFiles you can store in Google Drive
Simultaneous editingActively edited on up to 100 open tabs or devices at the same time; beyond that, only the owner and some editors can make changesShare files from Google Drive
SharingUp to 600 individual email addresses per fileShare files from Google Drive
Named versionsUp to 15 per spreadsheetFind what's changed in a file
IMPORTRANGE dataCapped at 10MB of received data per requestIMPORTRANGE
IMPORTRANGE refreshChecks for updates every hour while the document is openIMPORTRANGE
IMPORTRANGE accessAccess granted to a destination sheet counts against the source sheet's 600-user share limitIMPORTRANGE
Sheets API reads300 per minute per project; 60 per minute per user per projectSheets API usage limits
Sheets API writes300 per minute per project; 60 per minute per user per projectSheets API usage limits
Sheets API request timeA request processed for more than 180 seconds returns a timeout error; Google recommends a 2 MB maximum payloadSheets API usage limits
Apps Script runtime6 min per execution; custom functions 30 sec per executionApps Script quotas
Apps Script triggersTotal trigger runtime 90 min per day (consumer accounts) or 6 hr per day (Google Workspace accounts)Apps Script quotas
Apps Script concurrency30 simultaneous executions per userApps Script quotas

Google says Apps Script quotas "are subject to elimination, reduction, or change at any time, without notice." Check the source pages before you plan around an exact number.

What these limits mean for an inventory sheet

Size

The cell limit counts the whole spreadsheet, not one tab. A movements ledger grows by one row per stock change. With 8 columns, 1,000 movements a month add 8,000 cells a month, or about 96,000 a year, so most small teams stay far below 20 million cells for many years.

A large file can become slow to open and recalculate before it reaches the limit. If that happens, use the steps in the last section of this page.

People editing at once

Up to 100 open tabs or devices can actively edit one file at the same time. That includes the same person on two devices. Viewers who only look up stock don't need edit access, so share with them as Viewer.

IMPORTRANGE

If you pull stock from one file into another with IMPORTRANGE, each request is capped at 10MB of received data, and limits are enforced on the creator of the document. Google recommends summarizing in the source file and importing the result instead of the raw rows. For example, calculate on-hand totals in the inventory file and import only the totals table.

API and Apps Script quotas

Scripts, add-ons and apps that read or write your sheet share the Sheets API quotas of the project they run under. When a tool exceeds a per-minute quota, Google returns 429: Too many requests, and the tool should retry with exponential backoff. If a script that updates stock runs on a trigger, the daily trigger runtime limit applies to all of its runs combined.

What to do when you approach a limit

  1. Archive closed periods. Copy last year's movements to a separate archive file. In the live ledger, replace them with one opening-balance row per item and location, so totals stay correct.
  2. Delete what you don't use. Remove columns and tabs you no longer need.
  3. Keep formulas few. Use one ARRAYFORMULA or QUERY for a column instead of copying a formula into thousands of rows.
  4. Summarize before importing. Import totals with IMPORTRANGE, not the full ledger.
  5. Split by purpose, not by date. Keep one live inventory file and move reports or archives into their own files.

How LightInventory works within these limits

LightInventory keeps your data in your own spreadsheet, so Google's limits apply to it too: the Team plan includes unlimited items within Google Sheets limits. It is designed to archive closed periods of the movements and log tabs into an archive spreadsheet with opening balances, and it reads and writes in batches to stay within the Sheets API quotas. See pricing and security.

Up nextRestore an earlier version of a Google Sheet →