Skip to content
Shruti’s Developer ToolkitsCSV practice lab

One quoted newline, one data record.

Physical lines and CSV records are different. The free case contains a header followed by C-01 and a quoted field containing “first”, a newline and “second”.

  1. Download and extract the three-case sample.
  2. Open fixtures/07-multiline/left.csv as text. Count three physical lines.
  3. Inspect settings.json: identity is id; value is compared as text; normalization is off.
  4. Run node run-lab.mjs with Node.js 22+. Expected: 3/3 supplied expectations pass. This case has one unchanged key and no changed, extra or ambiguous keys.
  5. Reveal the other two explanations. A duplicated ID is ambiguous; an unfinished quoted value rejects.

Changing an embedded LF to CRLF can change the text field under these rules. The fixture varies record separators outside the quoted field while preserving its inner LF. Do not infer normalization that the settings did not request.

Return to the cases and free download · Try ExportCheck with synthetic inputs

This site uses Cloudflare Web Analytics for aggregate visit and performance measurement. Read the visitor privacy notice.