CSVFormat CSV Converter

CSVFormat Changelog

CSVFormat — CSV Formatter & Converter Guides · Updated 2026-10-11 · All guides

2026-10-11 — Deviations documented, not hidden

Wrote an About page that states, with reproducible inputs, the four places this parser diverges from RFC 4180: every field is trimmed even inside quotes (the spec says spaces are part of a field), tabs are stripped, whitespace-only cells become empty strings, and semicolon-delimited files parse as one silent column. Also documented the SQL emitter's number round-trip honestly — 01234 emits as 1234 and 9007199254740993 arrives at 9007199254740992 — plus an unquoted reserved-word column like order being rejected by SQLite.

No parser behaviour changed. The trimming trade is deliberate and stays; what changed is that you can now read about it before it surprises you.

2026-10-08 — Real RFC 4180 state machine

Replaced the line-based parser with a character-by-character state machine (feat(cronprobe,csvformat): real next-run engine + RFC 4180 parser). Three things became possible that split could not do:

  • Quoted fields containing newlines stay one field instead of corrupting the row count.
  • Doubled quotes ("") unescape to one literal " — "He said ""hi"", loudly" is one field, not three.
  • CRLF files parse without stray \r in every cell.

Same commit added the ragged-row counter: rows whose field count differs from the header are counted and surfaced — in the row counter for JSON mode, and as an explicit -- WARNING: N row(s) did not match the header column count appended to SQL output. A mis-split row shifts every value one column right while producing syntactically valid SQL; that failure mode is why the warning exists.

2026-10-08 — Sitemap scope fix

Sitemaps now generate from build output and include only registered domains.

2026-10-07 — Pro Tips panel

Added the Gotchas panel: CSV is not a line format, split(",") is not a parser, and why Excel's "helpful" number coercion is the reason this tool treats every JSON value as a string.

2026-10-06 — Contrast fixes

Dark-theme muted text and the primary button's hover state both failed contrast. Fixed.

Applied the monorepo footer grid; sibling tools now cross-link consistently.

2026-10-01 — Build hygiene

dist/ untracked; CI regenerates deploy output. No page changes.

2026-09-15 — Launch

Initial deploy: CSV → JSON and CSV → SQL INSERT conversion, client-side only, with the sample loader ("Connor, John" in row two — a quoted comma, from day one).

Developer Sponsor / Partner
Copied to clipboard!