Precision can be lost before the spreadsheet is created
Many JSON tools parse every numeric literal into a JavaScript number. JavaScript represents ordinary numbers with IEEE 754 double precision, so integers above 9,007,199,254,740,991 are not all exactly representable.
{
"transaction_id": 9123372036854000123,
"postal_code": "02108"
}If an ordinary parser rounds 9123372036854000123, the original digits are already gone by the time an XLSX writer receives the value. Formatting the Excel cell afterward cannot restore them.
Decide whether the value is a quantity or an identifier
Order IDs, payment references, tracking numbers, account numbers, and database keys are normally identifiers. Arithmetic on them has no meaning, so storing them as text is appropriate even when the source JSON writes them without quotes.
Measurements, balances, and counts are different. They may need numeric behavior, but their required precision should be known. A converter should not silently choose between numeric calculation and exact digit preservation when the source is ambiguous.
The best source representation
When you control the JSON producer, serialize long identifiers as strings:
{ "transaction_id": "9123372036854000123" }This makes the intent explicit for every downstream parser. When you do not control the producer, use a lossless JSON parser that retains the original numeric token.
Write unsafe integers to typed text cells
A safe JSON-to-Excel workflow parses the source without first coercing long integers, keeps the original digit sequence, and writes unsafe integers as Excel text cells. It should also tell the user which values were protected.
DataFormatKit's JSON to Excel converter uses lossless parsing, flags integer literals with 16 or more digits or values outside the safe range, and writes them as text. The preview marks them and the downloadable report records the reason.
This policy favors exact identifiers. It does not claim that every long numeric literal is semantically an identifier or that decimal arithmetic has been validated.
Use a before-and-after precision checklist
- Search the source for the longest integer tokens and save representative samples.
- Confirm whether those fields are identifiers, quantities, or unknown.
- Use lossless parsing before any flattening or row expansion.
- Write identifier-like values to text cells in XLSX.
- Open the workbook and compare the full value in the formula bar, not only the shortened cell display.
- Compare row counts and review any array expansion separately from numeric precision.
For high-stakes financial calculations, use a system with an explicit decimal or arbitrary-precision data model. This browser converter is designed for inspectable record conversion, not calculation certification.