JSON to CSV
Open JSON to CSV on Happytails.ai. This view has the same page content and links, with explicit tool capabilities. Read the processing notes before using a tool.
Tool capabilities
{
"id": "json-to-csv",
"category": "data-tools",
"built": true,
"requirements": "Define nested-array flattening, null handling and column order; protect spreadsheet exports.",
"implementation": {
"fields": [
{
"key": "delimiter",
"label": "CSV separator",
"value": ",",
"type": "select",
"values": [
",",
";",
"\t"
]
},
{
"key": "safe",
"label": "Protect spreadsheet formulas",
"value": true,
"type": "checkbox"
}
],
"experience": {
"automatic": true,
"single": false,
"inputMaxLength": 1000000,
"inputMode": "text",
"label": "JSON",
"placeholder": "{\"name\":\"Ada\",\"count\":2}",
"help": "Use double-quoted property names and valid JSON values. Results update as you type. Up to 1,000,000 characters.",
"helpParts": [
"Use double-quoted property names and valid JSON values.",
"Results update as you type.",
"Up to 1,000,000 characters."
],
"action": null
},
"mode": "automatic",
"interactive": false
},
"execution": "POST /api/v1/tools/json-to-csv/run",
"api": {
"id": "json-to-csv",
"name": "JSON to CSV",
"category": "data-tools",
"description": "Convert JSON to CSV.",
"notes": "",
"human_path": "/en/data-tools/json-to-csv/",
"method": "POST",
"endpoint": "/api/v1/tools/json-to-csv/run",
"schema_url": "/api/v1/tools/json-to-csv",
"input_schema": {
"type": "object",
"additionalProperties": false,
"properties": {
"input": {
"type": "string",
"maxLength": 1000000,
"default": "",
"description": "Plain text input. File tools use files instead unless otherwise documented."
},
"options": {
"type": "object",
"additionalProperties": false,
"properties": {
"delimiter": {
"type": "string",
"description": "CSV separator",
"default": ",",
"enum": [
",",
";",
"\t"
]
},
"safe": {
"type": "boolean",
"description": "Protect spreadsheet formulas",
"default": true
}
}
}
}
},
"output_schema": {
"type": "object",
"required": [
"tool",
"result"
],
"properties": {
"tool": {
"type": "string"
},
"result": {
"type": "object",
"required": [
"text",
"files"
],
"properties": {
"text": {
"type": [
"string",
"null"
]
},
"data": {
"description": "Parsed JSON when the textual result is JSON."
},
"name": {
"type": "string"
},
"mime": {
"type": "string"
},
"files": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"mime",
"bytes",
"base64"
],
"properties": {
"name": {
"type": "string"
},
"mime": {
"type": "string"
},
"bytes": {
"type": "integer"
},
"base64": {
"type": "string",
"contentEncoding": "base64"
}
}
}
}
}
}
}
},
"processing": "Server; same transformation code as browser tools",
"limits": {
"request_bytes": 8388608,
"input_characters": 1000000,
"files_bytes": 5242880,
"max_files": 0,
"timeout_seconds": 12
}
},
"agent_processing": "Server; same transformation code as browser tools",
"browser_agent": {
"supported": true,
"name": "transform_current_tool",
"discovery": "WebMCP on the human page in a supporting browser",
"verification": "See audit/API-AUDIT.md; availability is not verification"
}
}Page guide
Turn JSON records into a CSV you can open as a table.
How to use JSON to CSV
- Paste a JSON array of objects.
- Choose the delimiter and formula protection. Inspect the table or output text.
- Copy or download all rows. Table search and sorting only change the preview.
How the conversion works
Paste a JSON array of records. Keys become column headers; missing values become empty cells. Nested objects and arrays are written as JSON inside a cell. Formula protection adds an apostrophe to text beginning with spreadsheet operators.
Good to know
Use quotes around large integer IDs before converting. Values outside JavaScript’s safe integer range are rejected. CSV does not retain JSON types, so a round trip can change numbers, nulls and strings.
What to expect
Convert JSON to CSV. Paste the source content and review the available settings. Inspect nested values, numbers, empty cells, and column names before reusing the result.