# CSV and JSON handoff

Useful Horizons · https://usefulhorizons.com/guides/choose-a-csv-or-json-handoff
Published September 8, 2026

A blank contract to keep beside a small data transfer. No field is submitted to the publication.

## Destination
- Receiving application/program and version:
- Intended operation:
- Chosen format:
- Why this format fits the destination:
- Import method and column-type settings:

## Column meaning
| Column position | Heading | Meaning | Intended type | Empty-value meaning | Example |
|---|---|---|---|---|---|
| 1 | | | | | |
| 2 | | | | | |
| 3 | | | | | |

## Lab JSON contract
`columns` is an array of heading strings, or null if headings are disabled. `rows` is an ordered array of row arrays. Every cell is a string. Repeated and blank headings retain their positions; they are not object keys. The contract is specific to this tool, not a universal JSON table standard.

## Acceptance checks
- [ ] Same data record count.
- [ ] Same column count and order.
- [ ] Heading choice written down.
- [ ] Leading zeros retained for identifiers.
- [ ] Blank values and zero remain distinct.
- [ ] Multiline and quoted values checked.
- [ ] Any CSV text labels documented.
- [ ] Receiving application tested with a harmless fictional extract.

Observed results and unresolved differences:

Reference: RFC 8259 https://www.rfc-editor.org/rfc/rfc8259
Reuse permission: https://usefulhorizons.com/terms
