# Redis: (error) ERR value is not an integer or out of range

**Code:** `ERR value is not an integer or out of range` · **Category:** Redis · **Seen on:** Redis, Node.js

`INCR`/`DECR`/`EXPIRE`-style commands received a non-integer value or the stored string isn't an integer.

## Meaning

Check the key's content: `GET key`. INCR requires the value to be a 64-bit integer string. Common with floats stored as strings ("1.5"), JSON, extra whitespace, or after `APPEND`. Use `INCRBYFLOAT` for decimals. Command arguments like `EXPIRE key abc` also raise it.

## Common causes

- INCR on a non-numeric string/JSON
- Float stored then INCR (use INCRBYFLOAT)
- Value overflow beyond 64-bit
- Argument passed as non-integer (undefined, NaN)
- Serialiser changed format

## Quick fix

1. `GET key` to inspect; fix/delete the value
2. `INCRBYFLOAT` for decimals
3. Validate arguments before sending (no NaN/undefined)

## Detailed fix by platform

### Linux

1. `redis-cli GET counter; redis-cli INCRBYFLOAT price 1.5`

## How to diagnose

1. **Value** — Numeric string?
2. **Command** — INCR vs INCRBYFLOAT?
3. **Args** — Integers?

---
Source: [WhatIsMyError](https://whatismyerror.com/errors/redis/err-value-is-not-an-integer-or-out-of-range)
