PARSEJSON app icon

Google Sheets™ add-on

PARSEJSON for Google Sheets™

Extract nested fields from JSON strings with a formula-first JSONPath function built for spreadsheet workflows.

JSONPath-style paths
Range input support
Parses supplied JSON text
Native errors with IFERROR
Read function docsMarketplace listing URL pending publication
{"user":{"name":"Alec","role":"ops"}}=PARSEJSON(A1, "user.name")Alec
{"items":[{"price":10},{"price":15}]}=PARSEJSON(A1, "items[1].price")15
[{"id":1},{"id":2},{"id":3}]=PARSEJSON(A1, "[*].id")[1,2,3]

API exports

Extract identifiers, prices, statuses, and nested fields from webhook payloads or API responses already copied into cells.

Bulk cleanup

Point the same path at an entire column of JSON strings and spill clean results into adjacent cells.

Schema exploration

Use wildcards, indexes, slices, and filters to inspect messy data without writing Google Apps Script™.

One function, many paths

Put JSON text from a cell in the first argument and one JSONPath Plus path in the second. PARSEJSON extracts the result in Google Sheets™. It parses the text you supply; it does not fetch URLs or download API responses.

Open PARSEJSON reference
PathMeaningExample
$Entire JSON value, including primitives. Optional prefix for child paths.$.store.book
.Child property.user.name
..Recursive descent.$..author
*Wildcard for all child elements.items[*].id
[n]Nonnegative, zero-based array index.items[0].price
[start:end:step]Array slice; end is exclusive, negative bounds are supported, and step must be positive.items[-2:]
[?(<expr>)]Filter expression using @ for the current node.$..book[?(@.price<10)]

Supported error behavior

Invalid JSON and paths with no matching value produce native #ERROR! errors. Use =IFERROR(PARSEJSON(A1,"optional"),"") for an explicit blank fallback. Empty input cells and matched JSON null return blank.

Range input

Pass a row, column, or table of JSON strings and PARSEJSON applies the same path to each cell, returning a matching result shape. Selected objects, arrays, and wildcard or filter results stay as JSON text in one cell. A single invalid input or missing match causes the range formula to return a native error.

Help and support

Open Extensions → PARSEJSON → Use this Add-On if prompted, then Help & Examples for the function reference. Send Feedback is available in the same menu, or email me@aleckriebel.com. Include a small, non-sensitive example when reporting a problem.

How your data is handled

JSON parsing runs in Google Apps Script™. Limited usage events go to Amplitude, including the function name, success or error status, product metadata, and a pseudonymous identifier. These events exclude JSON text, path and formula arguments, cell values and results, spreadsheet names or identifiers, and email addresses.

Feedback sends the message you enter, your optional email, and the product name to Functable. Error diagnostics are separate. Read our privacy policy for details.

    xs