LibreOffice 26.8.0.3: default headless round trip

A UTF-8/LF CSV was converted to XLSX and back to CSV on macOS 15.5. The round trip completed in 6.8 seconds, but several logical values changed.

ToolLibreOffice 26.8.0.3
OperationCSV → XLSX → CSV
EnvironmentmacOS 15.5 · Apple Silicon
OutcomeSilently changed
CaseInputOutput observationClassification
Leading-zero ID000012341234Silently changed
30-digit identifier123456789012345678901234567890Scientific notationSilently changed
20-digit zero-padded value0000000000000000004242Silently changed
Formula-like text=2+24Evaluated / changed
Quoting & whitespaceMixed fixtureOutput representation changedNormalized

Test the whole round trip, not the opening screenshot

Pin the context

Record product version, OS, hardware, input hash and exact import settings.

Observe interpretation

Note what the user sees before editing and whether parser choices or warnings are visible.

Exercise real operations

Run zero-edit save, one-cell edit, filter/export, compare and recovery where supported.

Compare output

Measure both byte differences and decoded logical-value differences, including rejected or skipped rows.

Classify, do not crown

Report preserved, warned, normalized visibly, silently changed or rejected per case. No fake overall winner.

Small files with consequential edges

The seed fixture combines cases that are individually ordinary and collectively useful for regression testing:

Leading zeros20–30 digit IDsDate-like textFormula-like textQuoted commasEmbedded newlinesEscaped quotesWhitespace-only valuesEmpty fieldsMalformed rowsDuplicate keysEncoding variants

Download hostile-utf8-lf.csv

Planned products, without invented outcomes

PublishedLibreOfficeDefault headless round trip
Method slotsExcel · Modern CSV · SmoothCSVNo safety result published yet
Method slotsEasy Data Transform · Tablecruncher · Rons · CaxtonNo safety result published yet
Method slotsDuckDB · pandas · Polars · CSVProofNo overall winner assumed

Products enter the public result table only after the same operation is completed and documented. CSVProof will be tested by the same rules when an executable build exists.