@csv formats each incoming arrays as CSV record, thus, it processes a series of arrays, not an array of arrays. -r (raw output) option in the following example: $ echo ' [42, "Hello world"] [99, "Ninety nine"] ' | jq -r @csv 42,"Hello world" 99,"Ninety nine"