Skip to content
VVoid FabricLOCAL LAB
ToolsGames & TestsGuidesAbout the project ↗
FIELD NOTES / 2026-10-24

CSV conversion without silent data changes

By Mihai

Quoting, missing values and formula protection deserve an explicit decision.

CSV is a table, not a complete type system

CSV describes rows of fields, but does not universally specify a schema for numbers, dates, nulls or nested objects. A receiving spreadsheet often guesses types. That can strip leading zeros from postal codes, reinterpret long identifiers or change date formats. Keep identifiers as strings and run a small import before sending an entire dataset into a business system.

Quoting protects structure

A comma inside a field must not be confused with the field separator. CSV uses double-quoted fields for commas, embedded newlines and quotes, with embedded quote characters doubled. Splitting a file on commas or lines is therefore not a correct general parser. Void Fabric’s reader tracks quoted fields and rejects inconsistent column counts instead of quietly losing cells.

JSON records can have different keys

A JSON array may contain objects with different properties. The exporter forms a union of those keys, leaving empty cells for missing and null values. Nested values become JSON text within a cell. These are deliberate conversion rules, not a universally reversible representation. If the distinction between missing, null and an empty string matters, define an explicit export schema before using CSV.

Spreadsheet formulas are a separate hazard

A spreadsheet can interpret a field starting with an equals sign as a formula. Other prefixes such as plus, minus and at signs also need care. Formula protection prefixes risky cells with an apostrophe by default. That protection changes the exported cell contents and can affect negative numeric-looking strings. Choose protection based on the destination and trust level; do not remove it merely to make a sample look cleaner.

Verify the receiving workflow

Check the delimiter, header names, encoding, line endings and expected types in the actual importing program. A valid CSV is not proof that the business schema is correct. Include examples with quotes, a multiline note, an empty field and a long identifier in a test import. Keep originals and document conversion decisions so another person can repeat the result without guessing why the export differs.

Sources and further reading

  • www.rfc-editor.org/rfc/rfc4180
  • owasp.org/www-community/attacks/CSV_Injection

Use the related tools in the toolbox ↗

Void Fabric

Small tools. Less friction. Built with love by Mihai.
© 2026 Void Fabric

AboutContactPrivacyTermsEditorial policyPrivacy & cookie settings