How to find what is slowing your Google Sheet™
A step-by-step run through the add-on, from install to a faster sheet. Checking, every explanation, every fix preview and Undo are free and unlimited. The fixes, whole-spreadsheet checks and the report tab are paid, and each is marked Pro where it appears.
What the problem is
A Google Sheet™ slows down for concrete reasons: thousands of empty rows past the data that every recalculation still walks, imports that wait on the network, volatile functions that recalculate on every keystroke, conditional-format rules split into hundreds of fragments by copy-paste, lookups scanning whole columns. Google documents the causes; what nobody tells you is which of them are in your sheet, where, and what each one costs.
This add-on answers exactly that. It checks the sheet, ranks every cause it finds by estimated cost, and explains each one in a sentence — and the safe ones have a one-click fix with a preview of the exact change first.
Before you start
- Google Sheets™ in a desktop browser. The add-on does not run in the Google Sheets™ mobile apps.
- The add-on installed from the Google Workspace™ Marketplace. See the support page.
- A spreadsheet that feels slow. The slower the better, for a first check.
- Nothing leaves Google. The checks run in the sidebar, in your browser, against Google Apps Script™. The add-on's only network traffic is to the licence server, and only ever a licence key, an anonymous install id and which host this is. The privacy notice says so in full.
Step 1 — Install
Extensions › Add-ons › Get add-ons, then search for “Sheet Speed Checker”. Or go straight to the Marketplace listing.
Step 2 — Open the checker
In the spreadsheet, open Extensions › Sheet Speed Checker › Open checker. A sidebar opens on the right.
Step 3 — Check this sheet
Press Check this sheet. It is free and unlimited: the grade, the “where the time goes” bars, every finding and explanation, and exactly what each fix would change. Check every tab Pro runs the same checks over the whole spreadsheet.
A sheet with nothing wrong says so, rather than showing an empty list.
Step 4 — Read a finding
Every finding names its rule code, what it found, and why it slows the sheet down. Click Show me to jump to it.
- Likely cause — probably the main reason this sheet is slow.
- Adds up — not the main cause on its own, but real cost.
- Context — worth knowing while you are here.
The grade is an estimate from a cost model, not a stopwatch reading — an A means nothing was found, and anything with a likely cause in it grades D at best. The fifteen checks are listed below, each with what it means and how to fix it by hand.
SP-01 | Grid bloat. Thousands of empty rows or columns past the data. What it means |
SP-02 | Near the 20-million-cell limit. What it means |
SP-03 | Volatile functions (NOW, TODAY, RAND…) and their dependants. What it means |
SP-04 | Recalculation on a timer while volatiles exist. What it means |
SP-05 | Iterative calculation is on. What it means |
SP-06 | External fetches: IMPORTRANGE, IMPORTXML and friends. What it means |
SP-07 | Duplicate imports of the same source. What it means |
SP-08 | Whole-column lookups over bloated tabs. What it means |
SP-09 | Repeated per-row lookups into the same range. What it means |
SP-10 | Conditional-format fragments and whole-column rules. What it means |
SP-11 | Custom functions called across the sheet. What it means |
SP-12 | Row-by-row calculation chains thousands deep. What it means |
SP-13 | Data validation over huge ranges. What it means |
SP-14 | Heavy objects: charts, pivots, sparklines, many tabs. What it means |
SP-15 | Formula density: how much of the tab calculates. What it means |
Step 5 — Fix it Pro
Each fix shows a preview of the exact change before anything is applied — and the preview is free, so you can see what Pro would do before buying. The preview is built from the same plan the button executes, never from a second description of it.
- Automatic (SP-04): recalculation back to “On change”. Safe unattended.
- Guided (SP-01, SP-03, SP-06, SP-10): trim empty grid, freeze volatiles or imports to values, merge identical format rules — each confirmed from a preview, each refused with a reason if its guard fails.
The remaining findings are explained but not applied: a fix the add-on cannot prove safe is a manual section below instead. To fix any of them by hand, follow its section — every card links to it.
Step 6 — Undo, or keep the changes
Every fix first saves a hidden copy of the tab before it changes anything. Undo in the sidebar restores that copy — free in every tier, always. Keep changes deletes the hidden copies once you are happy with the result. File › Version history is untouched throughout.
Step 7 — The report tab Pro
Write report tab writes the full finding list to its own tab in the spreadsheet, so it travels with the file and stays readable without the add-on open.
Step 8 — Entering a licence key
Expand Enter a licence key at the bottom of the sidebar, paste the key from the end of checkout, and press Activate. It covers 3 Google accounts and takes effect immediately.
The fifteen checks
One section per rule: what it found, why it slows the sheet, and how to fix it by hand.
SP-01 — Grid bloat
What: thousands of empty rows or columns past the end of the data.
Why slow: the empty grid is stored, synced and recalculated with the sheet, and any whole-column reference scans all of it.
By hand: select the empty rows past the data, right-click, Delete rows — and the same for columns. Leave a small buffer. Or let Pro trim it: the preview names the exact span, and the fix refuses if anything still points into it.
SP-02 — Near the 20-million-cell limit
What: the spreadsheet's total grid is approaching Google's 20,000,000-cell cap.
Why slow: near the limit every edit, sync and open drags, and one more row of bloat can lock the sheet against new data.
By hand: trim empty grid on the biggest tabs (SP-01), or move cold data to an archive spreadsheet.
SP-03 — Volatile functions
What: NOW, TODAY, RAND, RANDBETWEEN, RANDARRAY — and the formulas downstream of them.
Why slow: volatiles recalculate on every change anywhere in the sheet, and so does everything that hangs off them.
By hand: copy finished volatile cells and Paste special › Values only. Pro freezes them with a preview of every cell first.
SP-04 — Recalculation on a timer
What: File › Settings › Calculation is set to recalculate every minute or hour while volatiles exist.
Why slow: the timer recalculates the whole volatile cascade whether anything changed or not.
By hand: File › Settings › Calculation › Recalculation › On change. Pro's automatic fix does exactly this.
SP-05 — Iterative calculation
What: iterative calculation is enabled.
Why slow: each recalculation runs several passes over circular references — harmless if the model needs it, pure overhead if it was left on by accident.
By hand: File › Settings › Calculation — switch it off unless the model genuinely iterates.
SP-06 — External fetches
What: IMPORTRANGE, IMPORTXML, IMPORTHTML, IMPORTDATA, IMPORTFEED, GOOGLEFINANCE, GOOGLETRANSLATE, IMAGE.
Why slow: each one waits on the network on every recalculation, and the sheet cannot finish until the slowest answers.
By hand: copy finished imports and Paste special › Values only — knowing they stop updating. Pro snapshots them the same way, with the warning in red.
SP-07 — Duplicate imports
What: the same source and range imported more than once.
Why slow: every duplicate fetches, parses and recalculates the same data separately.
By hand: import once onto its own tab and point the rest at it with plain references.
SP-08 — Whole-column lookups
What: VLOOKUP, XLOOKUP, MATCH, SUMIFS and friends over A:A-style ranges on bloated tabs.
Why slow: a lookup over a whole column walks every grid row, empty or not.
By hand: bound the range to the data (A2:A5000 instead of A:A).
SP-09 — Repeated per-row lookups
What: hundreds of copies of one lookup into the same big range.
Why slow: each copy scans the target range on its own.
By hand: one ARRAYFORMULA or XLOOKUP over the column scans it once.
SP-10 — Conditional formatting
What: rules split into fragments by copy-paste, or whole-column custom-formula rules.
Why slow: Sheets evaluates every fragment on every change.
By hand: Format › Conditional formatting — delete the fragments and re-apply the style once over the whole range. Pro merges identical rules with the styles, conditions and order unchanged.
SP-11 — Custom functions
What: calls to Apps Script™ custom functions across the sheet.
Why slow: each call leaves the sheet for Apps Script™ and back, with none of the built-in engine's caching.
By hand: replace with built-ins where one exists, or compute once and reference the result.
SP-12 — Calculation chains
What: row-by-row chains thousands deep, like running totals.
Why slow: each cell waits on the one above, so nothing parallelises and one edit ripples down the whole column.
By hand: a running SUM over a bounded range breaks the chain.
SP-13 — Data validation
What: validation stretched over huge or empty ranges.
Why slow: validation is checked on every edit inside its range, empty cells included.
By hand: Data › Data validation — bound the range to the data.
SP-14 — Heavy objects
What: charts, pivot tables, SPARKLINEs, and tab count.
Why slow: they redraw on every recalculation — rarely the main cause, but they add up on an already-slow sheet.
By hand: move dead charts and pivots to an archive tab; replace decorative sparklines with plain values.
SP-15 — Formula density
What: how many cells calculate, and from how few patterns.
Why slow: density is context, not an accusation — a dense sheet is one where every other finding on the tab costs more.
By hand: nothing directly; treat it as the multiplier on the rest of the list.
Limits
- Desktop browser only. The add-on does not run in the Google Sheets™ mobile apps.
- Tab size. Tabs up to 2,000,000 used cells are supported. Larger tabs are declined with a message naming the size.
- Undo after a shape-changing fix restores row heights and hidden rows for the first 5,000 rows.
- The grade is estimated. It comes from a cost model over what is in the sheet, not from timing it — unless a measurement backs it.
FAQ
Does my data leave Google? No. The checks run in the sidebar, in your browser, against the Sheets API. The only network call this add-on makes is to the licence server, for a licence key, an anonymous install id and which host this is.
Will it change my sheet? Only when you click a Fix — and every fix previews the exact change, takes a restore point first, and can be undone free. File › Version history is untouched too.
Is the grade a real timing? It is an estimate from a cost model, and the sidebar says so. A measured before-and-after is on the Pro list once it proves reliable.
Does it work on a .xlsx file opened in Office editing mode? No — convert the file to a Google Sheet™ first (File › Save as Google Sheets™). The add-on reads the Sheets API, which an Excel file kept in Office mode does not expose.
Why wasn't something flagged? Email support with the sheet (or a copy that still shows it) — a missed real cause is the most useful report this product gets.
Support
Email support@appgarden.co.uk, and say which finding looked wrong. A spreadsheet that produced a wrong finding — or missed a real one — is the most useful thing you can send. Only send one you are content to share, and read the privacy notice first.
Further reading
- Why is my Google Sheet™ so slow? 12 causes and how to find yours
- IMPORTRANGE making Google Sheets™ slow? Import once, reference many
- Google Sheets™ 20 million cell limit: find and delete empty rows safely
- Conditional formatting slowing down Google Sheets™? Merge the fragments
- NOW() and TODAY() in Google Sheets™: the hidden cost of volatile functions
- VLOOKUP on whole columns in Google Sheets™: faster alternatives
Google, Google Sheets™ and Google Workspace™ are trademarks of Google LLC. Sheet Speed Checker is not affiliated with or endorsed by Google.