Turn CSV text into JSON from a formula. Parses a cell's rows into structured objects — Google Sheets or Excel, no code.
It's one of 250+ live sources you reach with a single =VERVE() function — served from APIVerve's production data engine, billed at 1 credit per resolved cell, and refreshed on whatever cadence you set. No API keys to wrangle, no scripts, no exports.
A real example — the input you type, and the values you can pull from it. Click any cell to see the formula behind it.
Fill =VERVE("csvtojson", "name,age,city"&CHAR(10)&"John Doe,30,New York"&CHAR(10)&"Jane Smith,25,Los Angeles", "field", "row_count") beside a column of input and get the converted value back for every row — a batch conversion done in one drag.
Turn one format into another right in the cell instead of round-tripping through a script or an online tool.
Pipe the converted value straight into the formula or chart that needs it.
The same function works in both apps — install once, sign in with your key, and type it into any cell.
Install from the Workspace Marketplace, then drop the formula into a cell. Autocomplete suggests the source and its fields.
=VERVE("csvtojson", "name,age,city"&CHAR(10)&"John Doe,30,New York"&CHAR(10)&"Jane Smith,25,Los Angeles", "field", "row_count")Same source, same arguments, same key — in Excel on desktop, the web, or mobile. Excel namespaces it as VERVE.CALL. Drag to fill a whole column.
=VERVE.CALL("csvtojson", "name,age,city"&CHAR(10)&"John Doe,30,New York"&CHAR(10)&"Jane Smith,25,Los Angeles", "field", "row_count")Tune the result by adding name=value before the field argument — in any order. Leave one out and its default applies.
The delimiter used in the CSV
=VERVE("csvtojson", "name,age,city"&CHAR(10)&"John Doe,30,New York"&CHAR(10)&"Jane Smith,25,Los Angeles", "delimiter", ",")Whether the first row contains column headers (default: true)
=VERVE("csvtojson", "name,age,city"&CHAR(10)&"John Doe,30,New York"&CHAR(10)&"Jane Smith,25,Los Angeles", "has_header", "true")Add a field name as the last argument to land just that value in the cell.
=VERVE("csvtojson", "name,age,city"&CHAR(10)&"John Doe,30,New York"&CHAR(10)&"Jane Smith,25,Los Angeles", "field", "row_count")=VERVE("csvtojson", "name,age,city"&CHAR(10)&"John Doe,30,New York"&CHAR(10)&"Jane Smith,25,Los Angeles", "field", "column_count")=VERVE("csvtojson", "name,age,city"&CHAR(10)&"John Doe,30,New York"&CHAR(10)&"Jane Smith,25,Los Angeles", "field", "columns")=VERVE("csvtojson", "name,age,city"&CHAR(10)&"John Doe,30,New York"&CHAR(10)&"Jane Smith,25,Los Angeles", "field", "json")=VERVE("csvtojson", "name,age,city"&CHAR(10)&"John Doe,30,New York"&CHAR(10)&"Jane Smith,25,Los Angeles", "field", "inferredTypes")Premium marks data included on paid plans. On the Free plan a marked field is withheld and a marked input is ignored — either way the cell reads #PREMIUM(name) instead of a value, so a gated answer can never be mistaken for a real one. Everything unmarked works on every plan. Compare plans
Everything you need to wire it into a sheet.