Google Sheets: Result too large
Last verified
Result too largeWhat it means
Google lists Result too large as an import-function error and, for IMPORTXML, tells you to reduce the data your XPath query returns. Unlike the "exceeded maximum size" error, the download succeeded; the problem is the size of the result the function would write into the sheet.
The same message is widely reported with IMPORTRANGE, where Google's help page says received data is capped at 10MB per request. A wide range with long text cells can hit that before it looks large in row count.
What is not wrong: permissions or the source URL. Shrinking the requested output is the fix.
What it looks like
=IMPORTRANGE("https://docs.google.com/spreadsheets/d/abc123", "Data!A:Z")
#ERROR! Result too large
=VSTACK(
IMPORTRANGE("https://docs.google.com/spreadsheets/d/abc123", "Data!A1:F25000"),
IMPORTRANGE("https://docs.google.com/spreadsheets/d/abc123", "Data!A25001:F50000")
)Why it happens
- An IMPORTXML XPath such as //a or //div that matches thousands of nodes.
- An IMPORTRANGE that pulls whole columns (A:Z) instead of a bounded range.
- Source cells with very long text, such as descriptions or JSON blobs, inflating the payload.
- Two large IMPORTRANGE calls combined side by side in a single array literal.
How to fix it
- For IMPORTXML, narrow the XPath to the specific element, for example //table[@id='prices']//td[2] instead of //td.
- For IMPORTRANGE, request a bounded range such as Sheet1!A1:F5000 rather than open-ended columns.
- Split the range into chunks (rows 1-10000, 10001-20000) in separate formulas and stack them with VSTACK.
- Drop columns you do not need at the source, or import from a summary tab built with QUERY in the source file.
- If you only need filtered rows, filter inside the source spreadsheet first, then import the smaller result.
How to stop it recurring
Treat import formulas as a way to move a summary, not a full dataset. Pre-aggregate or filter in the source, keep ranges bounded, and archive old rows as static values. Google also recommends limiting the number of receiving sheets, since each one must read the whole range from the source.
Official documentation: support.google.com/docs/answer/12188454. See all Google Sheets error messages or the Google Sheets limits and quotas.
Related errors
- Resource at url contents exceeded maximum sizeResource at url contents exceeded maximum size.
- Loading... / Loading data may take a whileError Loading data may take a while because of the large number of requests.…
- Array result was not expanded because it would overwrite data#REF! Array result was not expanded because it would overwrite data in B5.
Definitions
Quick answers
What does "Result too large" mean in Google Sheets?
Google lists Result too large as an import-function error and, for IMPORTXML, tells you to reduce the data your XPath query returns. Unlike the "exceeded maximum size" error, the download succeeded; the problem is the size of the result the function would write into the sheet. The same message is widely reported with IMPORTRANGE, where Google's help page says received data is capped at 10MB per request.
How do I fix "Result too large"?
1. For IMPORTXML, narrow the XPath to the specific element, for example //table[@id='prices']//td[2] instead of //td. 2. For IMPORTRANGE, request a bounded range such as Sheet1!A1:F5000 rather than open-ended columns. 3. Split the range into chunks (rows 1-10000, 10001-20000) in separate formulas and stack them with VSTACK. 4. Drop columns you do not need at the source, or import from a summary tab built with QUERY in the source file. 5. If you only need filtered rows, filter inside the source spreadsheet first, then import the smaller result.
When an IMPORT formula cannot read the page
IMPORTXML and IMPORTHTML only see the HTML the server sends. An Autonoly extraction step reads the page in a real browser and writes rows to Google Sheets. Sites that block automated visitors can still block it.
Also see Google Sheets integration.