Deterministic JSON CSV Converter
Pricing
from $0.01 / actor start
Deterministic JSON CSV Converter
Convert JSON arrays to CSV and CSV to JSON with deterministic output, validation, strict parsing, formula-injection protection, and SHA-256 verification.
Pricing
from $0.01 / actor start
Rating
0.0
(0)
Developer
Nico clerckx
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a month ago
Last modified
Categories
Security
Limited permissionsShare
JSON ↔ CSV Converter — Deterministic & Safe
Convert UTF-8 JSON arrays to CSV or CSV documents to JSON for Excel, APIs, ETL pipelines, Make, Zapier, n8n, Airtable, and Google Sheets. Every run is deterministic, supports optional scalar schema validation, and protects spreadsheet workflows from formula injection.
Use this Actor when repeatability, validation, and auditable output matter more than opaque AI-based transformation. It does not download URLs, call external APIs, or use an LLM.
Why use this Actor?
- Predictable: identical input and settings produce identical output.
- Automation-ready: one structured dataset item plus an
OUTPUTkey-value record. - Spreadsheet-safe: reject or escape dangerous formula prefixes.
- Verifiable: SHA-256 and idempotency hashes make output easy to audit.
- Private by design: no outbound downloads or third-party API calls.
- Fast and inexpensive: designed for focused conversions up to 25,000 records.
What this Actor does
- Converts a JSON array of flat objects to CSV.
- Converts a CSV document to a JSON array.
- Supports comma, semicolon, and tab delimiters.
- Optionally validates and coerces scalar values with a small JSON Schema subset.
- Rejects or safely escapes values that could become spreadsheet formulas.
- Returns hashes and a deterministic request ID for repeatable workflows.
Common use cases
| Use case | Input | Output |
|---|---|---|
| Prepare API data for Excel or Google Sheets | JSON array | Spreadsheet-safe CSV |
| Convert exports for API ingestion | CSV document | JSON array |
| Validate data before an ETL/import step | JSON + optional schema | Validated CSV or structured error |
| Build repeatable Make, Zapier, or n8n workflows | JSON or CSV text | Deterministic dataset result |
| Verify a conversion in an audit pipeline | JSON or CSV text | Output plus SHA-256 checksum |
Input
Provide sourceFormat, targetFormat, and data. The formats must differ.
{"sourceFormat": "json","targetFormat": "csv","data": "[{\"id\":1,\"name\":\"Ada\"}]","delimiter": ",","strict": true,"formulaPolicy": "reject"}
Optional schema validation supports object properties with scalar string, integer, number, boolean, or null types, plus required, enum, and additionalProperties.
Output
Every run writes one item to the default dataset and the same item to the OUTPUT key-value-store record.
{"ok": true,"source_format": "json","target_format": "csv","row_count": 1,"columns": ["id", "name"],"data": "id,name\n1,Ada\n","validation": {"valid": true, "warnings": [], "errors": []}}
The complete result also contains request_id, sha256, and idempotency_hash. Rejected input produces a payload-free structured error with status, code, and message.
Automation
Call the Actor from the Apify API, Make, Zapier, or n8n with the same input object shown above. Read the converted payload from the default dataset or the OUTPUT record. Stable metadata fields support safe retries and deduplication.
Limits
- Input: 2 MiB of UTF-8 data.
- Output: 5 MiB.
- Records: 25,000.
- Columns: 100.
- Schema: 256 KiB.
- Flat records and scalar values only; nested JSON values are rejected.
- Processing deadline: 10 seconds.
These limits keep runs fast and costs predictable. Split larger inputs into separate runs.
Privacy and security
Input is processed for the current run only. The Actor does not make outbound network requests or download external content. It does not intentionally log input or converted payloads. Apify's normal run storage and retention settings still apply to input, dataset, and key-value-store records; remove runs or adjust retention in your Apify account when required.
Formula-like values beginning with =, +, -, or @ are rejected by default. Select escape only when you want the Actor to prefix such values with an apostrophe for safer spreadsheet import.
Pricing
One conversion produces one default-dataset result. The current price and any platform usage charge are shown by Apify before a run. Set a maximum run charge in Apify when using paid Actors.
Troubleshooting
INVALID_JSON_SHAPE: provide a JSON array containing flat objects.INCONSISTENT_KEYS: every JSON object must contain the same keys.DUPLICATE_HEADERS: CSV column names must be unique.CSV_FORMULA: change the data or useformulaPolicy: "escape".SCHEMA_VALIDATION: a required field, type, enum, or additional-property rule failed.
No conversion result should be treated as a substitute for domain-specific validation of financial, legal, medical, or other regulated data.