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
Local processing
Simple #JSONERROR! feedback
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

Pull IDs, prices, statuses, and nested fields out of webhook payloads or copied API responses.

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 Apps Script.

One function, many paths

PARSEJSON keeps the surface area intentionally small. Put the JSON in the first argument and the path in the second, then let Sheets fill the result.

Open PARSEJSON reference
PathMeaningExample
$Root object or array. Optional in PARSEJSON paths.$.store.book
.Child property.user.name
..Recursive descent.$..author
*Wildcard for all child elements.items[*].id
[n]Zero-based array index.items[0].price
[start:end]Array slice.items[0:5]
[?(<expr>)]Filter expression using @ for the current node.$..book[?(@.price<10)]

Supported error behavior

Invalid JSON returns a cell-friendly #JSONERROR! message. Missing paths and empty cells return blank values so cleanup formulas stay manageable.

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.

    xs