Export breakers test values

Values that pass validation and break only in the exported file. 12 values, each with what it breaks and what a correct application does instead.

export-breakers version 1.0, updated 2026-09-24 CC-BY-4.0

Type them one at a time with AltShiftN in the palette, or take them all into a script with nkb emit export-breakers.

Value starting with =

export-breakers/formula-equals
=1+1 =1+1
  • 4 graphemes
  • 4 code points
  • 4 bytes
  • 4 UTF-16 units
What it breaks
A value starting with an equals sign is treated as a formula by spreadsheet software; the exported file shows a computed result instead of the data.
What a correct application does
Escaped on export so the spreadsheet shows the text as entered.

Code that looks like a date

export-breakers/sheet-date-mar1
MAR1 MAR1
  • 4 graphemes
  • 4 code points
  • 4 bytes
  • 4 UTF-16 units
What it breaks
Spreadsheet software converts short codes that look like dates into dates, and the original value cannot be recovered from the file.
What a correct application does
Exported as text, with the column typed so the conversion never happens.

Comma inside a value

export-breakers/csv-comma
Kowalski,Jan Kowalski, Jan
  • 13 graphemes
  • 13 code points
  • 13 bytes
  • 13 UTF-16 units
What it breaks
A comma inside a value splits one column into two unless the value is quoted correctly at every export step.
What a correct application does
Quoted on export; the file parses back into the same number of columns.

Quotation marks inside a value

export-breakers/csv-quote
Jan"Janek"Kowalski Jan "Janek" Kowalski
  • 20 graphemes
  • 20 code points
  • 20 bytes
  • 20 UTF-16 units
What it breaks
Quotation marks inside a quoted value must be doubled; getting this wrong shifts every following column.
What a correct application does
Quoted and escaped so the round trip returns the original text.

Line break inside a value

export-breakers/csv-newline
JanKowalski Jan\u000AKowalski
  • 1 line break
  • 12 graphemes
  • 12 code points
  • 12 bytes
  • 12 UTF-16 units
What it breaks
A line break inside a value turns one row into two for every parser that splits on lines before parsing.
What a correct application does
Quoted so the record stays one row, or rejected at input.

Nineteen-digit identifier

export-breakers/sheet-precision
1234567890123456789 1234567890123456789
  • 19 graphemes
  • 19 code points
  • 19 bytes
  • 19 UTF-16 units
What it breaks
Spreadsheets keep about fifteen significant digits, so long identifiers come back rounded and in exponential notation.
What a correct application does
Exported as text; the identifier survives opening and saving the file.

Code with leading zeros

export-breakers/leading-zero-code
007 007
  • 3 graphemes
  • 3 code points
  • 3 bytes
  • 3 UTF-16 units
What it breaks
Codes lose their leading zeros the moment a spreadsheet treats the column as numeric.
What a correct application does
Exported as text so the code stays as issued.

Phone number starting with +

export-breakers/formula-plus
+48123456789 +48123456789
  • 12 graphemes
  • 12 code points
  • 12 bytes
  • 12 UTF-16 units
What it breaks
A phone number written with a country prefix is read as a formula, and the cell shows an error instead of the number.
What a correct application does
Escaped on export, or the column typed as text.

Value starting with -

export-breakers/formula-minus
-1+1 -1+1
  • 4 graphemes
  • 4 code points
  • 4 bytes
  • 4 UTF-16 units
What it breaks
Same as the equals sign, in a form that also looks like an ordinary negative number.
What a correct application does
Escaped on export.

Value starting with @

export-breakers/formula-at
@name @name
  • 5 graphemes
  • 5 code points
  • 5 bytes
  • 5 UTF-16 units
What it breaks
A social handle or mention becomes a function call in some spreadsheet software.
What a correct application does
Escaped on export.

Semicolon inside a value

export-breakers/csv-semicolon
a;b a;b
  • 3 graphemes
  • 3 code points
  • 3 bytes
  • 3 UTF-16 units
What it breaks
The alternative column separator used in several locales; a file correct in one locale breaks in another.
What a correct application does
The separator declared in the file, and values quoted regardless of which one is used.

Fraction that looks like a date

export-breakers/sheet-date-3-4
3/4 3/4
  • 3 graphemes
  • 3 code points
  • 3 bytes
  • 3 UTF-16 units
What it breaks
A fraction, a ratio or a house number, converted to a date on opening the file.
What a correct application does
Exported as text; opening and saving the file does not change the value.