## TL;DR

Your data is intact; the type changed.

## Steps

1. JavaScript numbers are doubles. Above 2^53 - 1 they lose precision,
so the SDKs deserializer returns big integers as strings rather than
silently corrupting them. Your data is intact; the type changed.

2. - Treat IDs, Snowflake IDs, and big counters as strings end to end.
- Convert explicitly with BigInt where you need arithmetic.
- If you have TypeScript types declaring these fields as number,
 change them to string or BigInt: the mismatch is in your types,
 not in Redis.

## When to use

You are seeing this: JavaScript numbers are doubles. Use this skill when you run into "upstash/redis returns big integers as strings: the 2^53 - 1 JavaScript limit".

## When not to use

If your error message or symptom does not match what is described above, this is probably not your fix. Search for your exact error text instead of forcing this one to fit.

## Versions

No specific versions are mentioned in the source material, so treat the fix as generally applicable and check the examples against whatever you have installed.

## Why this happens

JavaScript numbers are doubles.
