# HTTL
Returns the remaining TTL (time to live) of a hash key's field(s) that have a set expiration.
This introspection capability allows you to check how many seconds a
given hash field will continue to be part of the hash key.
See also the [`HPTTL`](https://redis.io/docs/latest/commands/hpttl) command that returns the same information with millisecond resolution.
## Example
```
redis> HTTL no-key FIELDS 3 field1 field2 field3
(nil)
redis> HSET mykey field1 "hello" field2 "world"
(integer) 2
redis> HEXPIRE mykey 300 FIELDS 2 field1 field3
1) (integer) 1
2) (integer) -2
redis> HTTL mykey FIELDS 3 field1 field2 field3
1) (integer) 283
2) (integer) -1
3) (integer) -2
```
## Return information
{{< multitabs id="httl-return-info"
tab1="RESP2"
tab2="RESP3" >}}
* [Array reply](../../develop/reference/protocol-spec#arrays). For each field:
- [Integer reply](../../develop/reference/protocol-spec#integers): `-2` if no such field exists in the provided hash key, or the provided key does not exist.
- [Integer reply](../../develop/reference/protocol-spec#integers): `-1` if the field exists but has no associated expiration set.
- [Integer reply](../../develop/reference/protocol-spec#integers): the TTL in seconds.
-tab-sep-
* [Array reply](../../develop/reference/protocol-spec#arrays). For each field:
- [Integer reply](../../develop/reference/protocol-spec#integers): `-2` if no such field exists in the provided hash key, or the provided key does not exist.
- [Integer reply](../../develop/reference/protocol-spec#integers): `-1` if the field exists but has no associated expiration set.
- [Integer reply](../../develop/reference/protocol-spec#integers): the TTL in seconds.