Convert an array of JSON objects into CSV: the header row is the union of all keys across every object, and any value containing the delimiter, a double quote or a line break is wrapped in double quotes with inner quotes doubled — the standard CSV escaping rules. Missing keys become empty cells.
Going the other way, the first CSV row is treated as the header and each following row becomes a JSON object. The parser correctly handles quoted fields that contain commas, escaped double quotes and newlines. Pick comma, tab or semicolon as the delimiter. Everything runs locally in your browser — your data is never uploaded.